Tag: richtextbox

替换富文本框中的所有文本

我在尝试替换rich text box与特定单词匹配的所有文本时遇到问题。 这是我使用的代码 public static void ReplaceAll(RichTextBox myRtb, string word, string replacer) { int index = 0; while (index < myRtb.Text.LastIndexOf(word)) { int location = myRtb.Find(word, index, RichTextBoxFinds.None); myRtb.Select(location, word.Length); myRtb.SelectedText = replacer; index++; } MessageBox.Show(index.ToString()); } private void btnReplaceAll_Click(object sender, EventArgs e) { Form1 text = (Form1)Application.OpenForms["Form1"]; ReplaceAll(text.Current, txtFind2.Text, txtReplace.Text); } 这很好但我注意到当我尝试用自己和另一个字母替换一个字母时有点故障。 例如,我想用ea替换Welcome […]

如何在RichTextBox中的文本上正确应用backgroundcolor

internal string Select(RichTextBox rtb, int index, int length) { TextRange textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd); if (textRange.Text.Length >= (index + length)) { TextPointer start = textRange.Start.GetPositionAtOffset(index, LogicalDirection.Forward); TextPointer end = textRange.Start.GetPositionAtOffset(index + length, LogicalDirection.Backward); rtb.Selection.Select(start, end); rtb.Selection.ApplyPropertyValue(TextElement.BackgroundProperty, new SolidColorBrush(Colors.LightBlue)); } return rtb.Selection.Text; } 每当调用ApplyPropertyValue来更改所选文本的背景颜色时,它首次运行良好,但在第二次调用时不能正确调整所选文本段的背景颜色。 我怀疑这与调用函数后文件的偏移量有些混乱有关。 解决这个问题的好方法是什么?

如何在RichTextBox中找到TextRange(在两个TextPointers之间)

在我的System.Windows.Controls.RichTextBox中,我想找到给定单词的TextRange。 但是,在第一个找到的单词后,它没有给我正确的PositionAtOffset。 第一个是正确的,然后对于下一个找到的单词,位置不正确。 我使用正确的方法吗? 循环遍历listOfWords Word= listOfWords[j].ToString(); startPos = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text.IndexOf(Word.Trim()); leftPointer = textPointer.GetPositionAtOffset(startPos + 1, LogicalDirection.Forward); rightPointer = textPointer.GetPositionAtOffset((startPos + 1 + Word.Length), LogicalDirection.Backward); TextRange myRange= new TextRange(leftPointer, rightPointer);

从RichTextBox到文本文件,一行一行

我将文件从Richtextbox保存到文本文件时遇到问题。 我的richtextbox看起来像这样; ABC … SDE … KLO … 我保存后看起来像这样: ABC … SDE … KLO … 但我希望像行后的richtextbox一样。 我做错了什么? if (saveFileDialog2.ShowDialog() == DialogResult.OK) { StreamWriter sw = File.CreateText(saveFileDialog2.FileName); sw.WriteLine(richTextBox1.Text); sw.Flush(); sw.Close(); //File.WriteAllText(saveFileDialog2.FileName, str); }

RichTextBox无法显示Unicode数学字母数字符号

我无法让WinForms RichTextBox显示一些Unicode字符,特别是数学字母数字符号 (但问题很可能不仅限于那些)。 令人惊讶的是,相同的字符可以使用相同的(默认)字体显示在普通或多行TextBox 。 即使我将字体更改为例如“Arial”或“Lucida”,我也会得到相同的结果。 屏幕截图来自Windows 10,但我在Windows 7上得到了相同的结果。该示例显示ascii小广告,后跟数学斜体sans-serif小alpha-delta 。 我正在使用Visual Studio 2017和.NET 4.6.1。 一个简单的测试代码: private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.richTextBox1 = new System.Windows.Forms.RichTextBox(); // … this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(25, 38); this.textBox1.Multiline = true; this.textBox1.Name = “textBox1”; this.textBox1.Size = new System.Drawing.Size(182, 108); this.textBox1.TabIndex = 0; this.textBox1.Text = […]

如何防止richTextBox在其中粘贴图像?

我用c#编程。 我上面有一个richTextBox。 在运行时,我通过编码将一些Bitmap图像插入到richTextbox中。 但我想阻止用户拖动插入的图像或粘贴其他一些图像在richTextBox中。 我该如何实现呢? 提前致谢!

使用C#在富文本框中打开文件

这个问题已得到解答。 我推荐下面的sumit_programmers解决方案。 现在,我已经删除了我的代码,认为它比有用的更令人困惑。 当我进一步开发它时,也许我会在这里发布我的代码,并附上一些评论。 您可能还对使用C#从富文本框中保存文本的问题的答案感兴趣。 有一个答案让人想起这个问题的答案。 代码应该可以工作,但它是由我编写的,因此可能存在一些错误或缺少信息。 更新:我对代码进行了一些改进(至少我认为是这样)。 “Encoding.Default”似乎适用于最常见的编码,如ANSI。 如果编码是UTF-8而没有字节顺序标记(BOM),那么似乎“Encoding.Default”不起作用。 有关更多信息,请访问informit.com/guides 。 这是我现在正在使用的代码: private void fileOpen_Click(object sender, EventArgs e) { using (OpenFileDialog dlgOpen = new OpenFileDialog()) { try { // Available file extensions dlgOpen.Filter = “All files(*.*)|*.*”; // Initial directory dlgOpen.InitialDirectory = “D:”; // OpenFileDialog title dlgOpen.Title = “Open”; // Show OpenFileDialog box if (dlgOpen.ShowDialog() […]

如何在RichTextBox C#中“对齐”文本?

如何在RichTextBox中对齐文本? 基本上,RTB包含: “–testing” “–TESTING” “TESTING–” “testing–” 它们具有相同数量的字符,但具有不同的对齐方式。 如何正确对齐它们? 我对C#很新,因为它在Java的TextArea中正确对齐而感到困惑。 谢谢!

RichTextBox中RTF文件中的超链接断开

我正在使用RichTextBox来显示RTF文件,其中包含一个超链接。 链接文本不是URL(目标是有效的URL)。 RTF是用Word创建的。 Word和写字板都能正确识别链接(写字板不会启动链接,但会显示相应的手形光标)。 当我将RTF加载到RichTextBox ,链接显示格式正确(蓝色和下划线),但不是表现得像链接,当光标在链接上移动时它仍然是工字梁, LinkClicked事件将不会触发,它实际上在链接后显示尖括号之间的目标(这似乎不正确)。 由于链接文本不是URL,因此DetectUrls在此处没有帮助。 有没有理由说RichTextBox没有正确处理这些链接,或者是一种让它们按预期工作的方法? 这是代码。 TipView.Rtf = tips[tipIndex]; // I’ve also tried TipView.LoadFile, with identical result 要重现此问题,请使用Word(我正在使用2000)创建一个RTF文档,其中包含一个文本不是URL但是以有效URL为目标的链接,并以编程方式将.rtf文件加载到RichTextBox (我使用的是.NET) 2.0 in C#Express 2008)。

禁用RichTextBox自动滚动

我正在使用RichTextBox控件来显示应用程序日志。 我通过几次调用RichTextBox :: AppendText方法每秒更新一次控制。 对我来说真正烦人的是光标一直滚动到文本的最后一行。 当用户需要分析开头的日志时,它非常不舒服。 我试过以下解决方案来解决我的问题: int pos = tb_logs.SelectionStart; tb_logs.AppendText(“log message”); tb_logs.SelectionStart = pos; 这不是问题的核心,因为控制正在被定期重绘,这非常分散注意力。 有一些清洁的解决方案吗?