Tag: richtextbox

C# – 将大文件加载到WPF RichTextBox中?

我需要将一个~10MB范围的文本文件加载到WPF RichTextBox中,但我当前的代码正在冻结UI。 我尝试让后台工作人员进行加载,但这似乎也不能很好地工作。 这是我的加载代码。 有没有办法改善其表现? 谢谢。 //works well for small files only private void LoadTextDocument(string fileName, RichTextBox rtb) { System.IO.StreamReader objReader = new StreamReader(fileName); if (File.Exists(fileName)) { rtb.AppendText(objReader.ReadToEnd()); } else rtb.AppendText(“ERROR: File not found!”); objReader.Close(); } //background worker version. doesnt work well private void LoadBigTextDocument(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; […]

RichTextBox选择突出显示

是否有可能在用户选择后,每个选定的字母都会显示原始颜色? 并不总是白色,因为它是默认的? 我希望实现这样的目标 你可以在wordpad中看到。 代替 你在RichTextBox看到的。

在富文本框中格式化文本

如何在富文本框中格式化文本,如下所示 02/11/2010 – 05:15 PM – Adam:另一个测试笔记于11月2日添加 02/11/2010 – 05:14 PM – Z_kas:测试笔记。 阶段变为:N Enq – 发送报价 02/11/2010 – 05:12 PM – user32: 11月2日增加了另一个测试笔记 谢谢

C#RichEditBox性能极慢(加载4分钟)

C#中的RichEditBox控件(我使用VS 2005)性能不佳。 我将一个2.5 MB的RTF文件加载到对照中,带有45.000条彩色文本行,需要4分钟。 我将相同的RTF加载到Windows XP的Wordpad中的RTF控件中,并在2秒内加载。 写字板的速度比我的应用程序快120倍。 是什么原因,我该如何解决?

防止在RichTextBox中自动滚动

我有一个readonly数据记录窗口,我使用RichTextBox控件实现。 我希望能够禁用用户单击控件时发生的自动滚动,以便用户可以选择特定日志进行复制/粘贴操作或其他任何操作。 但是,只要用户点击RichTextBox,它就会自动滚动到底部,这使得这很困难。 有人知道一种方法来覆盖这种行为吗? 谢谢!

RichTextBox换行符转换?

我正在使用WinForms RichTextBox。 看起来当RichTextBox在表单上时, \r\n将转换为\n 。 这是一个测试: 我有两个丰富的文本框。 一个是richTextBox1 ,它放在表单上: this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.SuspendLayout(); // // richTextBox1 // this.richTextBox1.Location = new System.Drawing.Point(37, 12); this.richTextBox1.Name = “richTextBox1”; this.richTextBox1.Size = new System.Drawing.Size(100, 96); this.richTextBox1.TabIndex = 0; this.richTextBox1.Text = “”; 另一个是rtb ,我是当场创建的。 当我运行此代码时(在窗体的load事件中): var rtb = new RichTextBox(); string enl = “Cheese” + Environment.NewLine + “Whiz”; rtb.Text = […]

C#/ WPF:禁用RichTextBox的文本换行

有谁知道如何禁用RichTextBox的文本包装? 例如,如果我有一个不适合窗口的大字符串, RichTextBox放置一个无法显示新行的字符串部分。 我想禁用它(并且仅通过使用Scrollbar使其可见)。 非常感谢。 干杯

在鼠标hover文本时显示工具提示

当鼠标hover在我的自定义富编辑控件中的链接上时,我想显示工具提示。 请考虑以下文本: 我们都在晚上睡觉 。 就我而言, 睡眠这个词就是一个链接。 当用户在链接下移动鼠标时,在这种情况下“睡眠”,我想显示链接的工具提示。 以下是我的想法,但他们没有工作 1)捕获OnMouseHover if(this.Cursor == Cursors.Hand) tooltip.Show(textbox,”My tooltip”); else tooltip.Hide(textbox); 但这没有用。 UPDATE 提到的链接不是 URL,即这些是自定义链接,因此Regex在这里不会有太多帮助,它可以是任何文本。 用户可以选择创建链接。 虽然我没有尝试过GetPosition方法,但我认为它在设计和维护方面不会那么优雅。 让我说我在我的richedit框中有以下行 我们晚上睡觉 。 但蝙蝠保持清醒 。 蟑螂在夜间变得活跃 。 在上面的句子中,当鼠标hover在它们上面时,我想要三个不同的工具提示。 sleep -> Human beings awake -> Nightwatchman here active -> My day begins 我困住OnMouseMove如下: 使用Messagebox OnMouseMove( ) { // check to see if the cursor […]

在RichTextBox中重置RTF?

我正在尝试“重置”我的RichTextBox格式(WinForms,而不是WPF)。 我以前用过 richTextBox.Text = richTextBox.Text; 然而,这似乎突然让我失望了。 现在无论我将richTextBox.Text设置richTextBox.Text ,它都会保留一些rtf格式。 我试过了 richTextBox.Rtf = richTextBox.Text; 但是,抱怨格式不正确。 必须有一个更好的方法来做到这一点。 (当然,选择整个事物,然后重置背面颜色,前颜色和字体工作,但这会导致闪烁,因为选择整个事物然后取消选择,加上它更慢并且需要更多代码。)任何人都有任何的想法? 编辑:我已经让这个工作了: string tempTxt = richTextBox.Text; richTextBox.Clear(); richTextBox.Text = tempTxt; 但必须有更好的方法,对吗? 编辑2:要清楚,我希望在保留文本的同时删除所有格式。 看起来第一次编辑中的代码将会发布,除非其他任何人都有更高效/更好的编码方式。 编辑3: richTextBox.Text = richTextBox.Text.ToString(); 似乎没有用,因为它仍然无法清除所有格式。 我不喜欢上面第一个编辑中的方法的原因是,当文本框清除它然后重新输入文本时,它会使文本框“闪烁”。 看起来应该只是一个richTextBox.ResetFormatting()方法,或者某种方式来访问相同的function,因为Clear()方法清楚(没有双关语)除了简单地清除所有文本之外还会进行某种格式化重置。 总结一下: 有没有办法(如果是这样,是什么)重置RichTextBox中的文本格式而不清除上面示例中的文本(因为这会产生不希望的闪烁)?

如何在richtextbox中使用多种颜色

我使用C#windows窗体,我有richtextbox,我想用红色标记一些文本,一些用绿色,一些用黑色。 怎么办? 附图。