Tag: richtextbox

将制表符转换为RichTextBox中的空格

我有一个WinForms应用程序与窗体上的RichTextBox控件。 现在,我将AcceptsTabs属性设置为true,以便在按Tab键时插入制表符。 我想做的是让它在命中Tab时插入4个空格而不是\t制表符(我使用的是等宽字体)。 我怎样才能做到这一点?

在RichtextBox中加粗

我一直在研究我的richtextbox,但是我遇到了一些奇怪的事情…我想在每行粗线上创建第一个单词 使用此代码: RichTextBox bold = richTextBox1; foreach (string line in bold.Lines) { string name = line.Split(‘ ‘)[0]; int srt = bold.Find(name); bold.Select(srt, name.Length); bold.SelectionFont = new Font(bold.Font, FontStyle.Bold); } 但由于某种原因,一些行被跳过。 从我注意到它取决于行开头的单词 例如Name:被跳过但Name1:没问题,ProcessId,VirtualSize和WorkingSetSize也是如此。 例子http://sofzh.miximages.com/c%23/4lov91.png 如果需要更多解释,请告诉我。 这些行添加如下 richTextBox1.Text += “Name: “+ queryObj[“Name”] + Environment.NewLine; 在将所有内容添加到richtextbox之后调用使所有第一个单词变为粗体的函数。

如何覆盖richtextbox中的复制和粘贴

如何覆盖Richtextbox C#应用程序中的复制/粘贴function。 包括ctrl-c / ctrl-v和右键单击复制/粘贴。 这是WPF richtextBox。

突出显示richtextbox中的特定文本

我有一个窗口表单,其中包含一个listbox和一些richtextboxex 。 listbox包含一些值。 当我从listbox选择任何值时, richtextboxex根据所选值与数据绑定。 当我从列表框中选择一个值时,我必须突出显示绑定到richtextbox一些文本,例如: 只是一个友好的提醒,你有<>逾期发票,逾期余额为<>。 如果您对欠款有任何疑问,请致电我们,我们将很乐意与您讨论。 如果您已经付款,请忽略此提醒。 所有数据都来自数据库。 我想突出显示<>和<>这些词。

C#在RichTextBox中获取光标行

在C#中,我有一个RichTextBox,我想得到光标的当前行。 我发现的每个答案都说使用: int currentLine = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart); 但是,richTextBox1.SelectionStart仅在您对文本进行更改时更新。 如果您使用箭头键移动光标,它不会更新(我已经通过在我移动时打印SelectionStart来validation这一点)。 即使使用箭头键移动光标,如何以跟踪它的方式获取光标的当前行? 我在Win8中使用VS2012。 编辑: terrybozzio的答案显示了问题。 对于有此问题的其他人,您不能将代码放在richTextBox1_TextChanged中。 您需要将它放在richTextBox1_SelectionChanged中。

RichTextBox ScrollToCaret的结果不一致

我正在使用C#中的RichTextBox。 它存在于TabPage上。 选择TabPage时,我的目标是填充RichTextBox,并滚动到结尾。 我已经尝试了针对这个常见问题的解决方案的微小变化,主要问题是: MyRichTextBox.Select(MyRichTextBox.Text.Length, 0); MyRichTextBox.ScrollToCaret(); 要么: MyRichTextBox.SelectionStart = MyRichTextBox.Text.Length; MyRichTextBox.ScrollToCaret(); 这产生了不一致的结果,尽管是以可预测的方式。 它将在滚动到底部之间交替,并在底部之间滚动一条线。 分别说明(抱歉链接,新用户,所以我无法发布图像): 成功滚动到底部 滚动到底部的一条线 我很惊讶没有发现通过我的搜索没有提到这种行为,并决定询问这里是否有人遇到过这种情况,和/或有一个解决方案。 如果它归结为它,我想我可以按照其匹配答案的方式去做 。

WPF Richtextbox FontFace / FontSize

我目前正在尝试在WPF项目中创建一些基本的文字处理器function。 我正在使用RichTextBox并且知道所有的EditingCommands(ToggleBold,ToggleItalic等等)。 我坚持的事情是允许用户像在MS Office中那样更改字体大小和字体,其中值仅针对所选文本进行更改,如果没有选定文本,则值将更改为当前插入位置。 我已经提出了相当数量的代码来使这个工作,但我没有选择文本的问题。 这是我正在为RichTextBox.Selection做的事情。 TextSelection text = richTextBox.Selection; if (text.IsEmpty) { //doing this will change the entire word that the current caret position //is on which is not the desire/expected result. text.ApplyPropertyValue(RichTextBox.FontSizeProperty, value); } else //This works as expected. text.ApplyPropertyValue(RichTextBox.FontSizeProperty, value); 所以我的问题是我应该怎么做呢? 有没有更好/更方便的方法来做到这一点? 我有一个想法是我需要在段落中插入一个新的内联,但我无法弄清楚如何做到这一点。 任何帮助表示赞赏。 谢谢。

C#RichTextBox删除Custom SelectionBackColor

在做了一些研究后,我相信我问的问题与删除richtextbox SelectionBackColor相同。 我遇到了同样的问题,但我认为该问题的答案不充分,因为问题没有得到明确解释。 请看下面: 在RichTextBox ,如何从文本( SelectionBackColor )中的某些文本( SelectionBackColor )中删除自定义BackColor ,以便即使BackColor将来发生更改 ,它也会采用控件的BackColor ? 我有一个方法突出显示一些文本,并使用SelectionBackColor更改其BackColor 。 我有另一种方法来改变整个控件的BackColor 。 这些事件可以独立发生。 如果我想“删除”一些SelectionBackColor ,我可以尝试将SelectionBackColor设置为Color.Transparent ,但它最终是白色。 如果我的RichTextBox的当前 BackColor是白色,那暂时没问题。 如果我将SelectionBackColor设置为当前的BackColor ,则暂时没问题, 直到BackColor从另一个方法更改为止。 RichTextBox.BackColor发生更改后,之前突出显示的任何位置都使用White或之前的BackColor ,而不是假设新颜色类似于之前未突出显示的文本。 我已经尝试删除和替换文本,但是根据我的知识,这会否定保留该文本的任何其他自定义格式的能力。 将SelectionBackColor设置为null不起作用。 我可以很容易地看到我在谈论使用下面的代码: protected override void OnLostFocus(EventArgs e) { base.OnLostFocus(e); this.BackColor = Color.Gray; if (SelectionLength > 0) { SelectionBackColor = Color.Yellow; } } protected override void OnGotFocus(EventArgs […]

突出显示RichTextBox1中的一行,行号=变量

我有一个变量,让我们说它= 5,然后我想在我的RichTextBox1中将第5行突出显示为“蓝色”。 这有可能吗? 或者我应该使用类似ListBox,DataGridView等的东西。

从富文本框控件获取当前滚动位置?

我已经在互联网上搜索了很多这样的问题,但我没有看到实际的答案。 我有一个富文本框控件,里面有很多文本。 它在此控件中有一些法律信息。 默认情况下,“接受”按钮被禁用。 我想在滚动事件中检测到v滚动条的位置是否在底部。 如果它位于底部,请启用该按钮。 如何检测当前的v滚动条位置? 谢谢! 编辑我正在使用WinForms(.Net 4.0)