Tag: richtextbox

是否可以“缩放”WPF RichTextBox中的文本?

我注意到WinForms RichTextBox有一个ZoomFactor属性,我认为这正是我想要的 – 遗憾的是,WPF变体似乎完全没有。 有没有什么方法可以实现相同的function(增加/减少整个文档的可见文本大小而不实际更改底层RTF)? 更新:虽然在RichTextBox上设置LayoutTransform似乎在非常简单的设置下工作,但它与设置ZoomFactor并不完全相同,因为有几件事: 首先,滚动条也被缩放。 这看起来很傻。 第二,在我的应用程序中(出于某种原因,但不是在Kaxaml中 – 我会探究这个以找出原因),文本是位图缩放,这样它只是放大渲染文本而不是矢量缩放它所以它是平滑的。 这是我正在谈论的一个例子(注意方式 – 大自定义滚动条): 替代文字http://img822.imageshack.us/img822/298/3b7e4e04afc943ff85b2a98.png 更新2:好的,我发现位图缩放是由TextOptions.TextFormattingMode设置为Display而不是Ideal 。 将其设置为理想状态会重新引入矢量缩放。 但是仍然有那个讨厌的滚动条! 我的意思是一个选项是禁用RichTextBox上的滚动并将其包装在ScrollViewer中,但我想知道这是否会降低性能。 我也想知道如果我这样做,文本包装是否仍然有用。

Richtextbox绘制rtf行

我想在RichTextBox中添加一条水平线作为我的文本的分隔符。 我发现了一些RTF代码实现一行的例子并以这种方式尝试了它们: rtbResFile.Rtf = @”{\rtf1{\pard some text.\par}{\pard \brdrb \brdrs \brdrw10 \brsp20 \par}{\pard \par}{\pard some other text.\par}}”; 这种方式实现了创建带边框的空白段落,因此应该看起来像一条线。 但它没有显示任何内容。 只是一个空白段落。 即使我尝试以包含线对象的方式实现它 {\rtf1 {\pard some text.\par} {\pard {\*\do\dobxcolumn\dobypara\dodhgt \dpline\dpxsize9200\dplinesolid\dplinew30}\par} {\pard some other text.\par} } 它仍然没有显示。 RichTextBox是否支持此function? 或者任何其他方式包括rtf字符串中的水平线?

WPF RichTextBox附加彩色文本

我正在使用RichTextBox.AppendText函数将字符串添加到我的RichTextBox 。 我想用特定的颜色设置它。 我怎样才能做到这一点?

突出显示RichTextBox中的文本

我正在尝试使用RichTextBox和我的第一感觉:“使用它有多复杂!”……太棒了…… 所以我试图突出显示我的RichTextBox中包含的文本。 我目前有以下代码: TextRange range = new TextRange(MyTextInput.Document.ContentStart, MyTextInput.Document.ContentEnd); range.Text = @”TOP a multiline text or file END”; Regex reg = new Regex(“(top|file|end)”, RegexOptions.Compiled | RegexOptions.IgnoreCase); foreach (Match match in reg.Matches(range.Text)) { TextPointer start = range.Start.GetPositionAtOffset(match.Index, LogicalDirection.Forward); TextPointer end = range.Start.GetPositionAtOffset(match.Index + match.Length, LogicalDirection.Backward); // text contains the exact match I want string text = […]

使用C#从富文本框保存文本

这个问题已得到解答。 我已经改进了一些代码(至少我认为是这样)。 它现在提醒用C#在富文本框中打开文件的问题的答案。 如果我没有犯任何错误(我可能会犯错),代码应该保存一个带有富文本框rtfMain文本的文件。 默认文件扩展名为.txt。 您还可以使用文件扩展名.rtf。 private void menuFileSave_Click(object sender, EventArgs e) { // Create a new SaveFileDialog object using (SaveFileDialog dlgSave = new SaveFileDialog()) try { // Default file extension dlgSave.DefaultExt = “txt”; // SaveFileDialog title dlgSave.Title = “Save File As”; // Available file extensions dlgSave.Filter = “Text Files (*.txt)|*.txt|RTF Files (*.rtf)|*.rtf”; // Show […]

自定义RichTextBox事件句柄

我是Custom Controls的新手,我正在寻求帮助。 我想知道是否可以在我的自定义类中的事件(例如“Key_Press”)上添加validation,而不是通过表单代码中的事件添加validation。 我的目标是阻止使用Return&Enter键作为控件。 我创建了一个自定义的RichTextBox,代码如下: – public class CustomRTB : RichTextBox { protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if ((keyData == (Keys.Control | Keys.V))) { IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Text)) { string contents = Clipboard.GetText().Replace(“\r\n”, ” “); Clipboard.SetData(DataFormats.Text, contents); this.Paste(); } return true; } else { return base.ProcessCmdKey(ref msg, keyData); } […]

在富文本框中创建换行符

我需要帮助为我的RichTextBox创建一个新行,我在使用CheckBox时无法工作。 它保持重叠而不是创建单词的换行符。 尝试使用rtbdisplay.text = (display+envrionment.newline); 我的代码示例: if (rbtnSmall.Checked == true) { rtbDisplay.Text = “displaytext”.PadRight(20) + “size”.PadRight(23) + qty.ToString().PadRight(20) + StrongDummy; }

改变字符串颜色

好的,所以这是我上一期的问题,但我有代码: private void btnTrans_Click(object sender, EventArgs e) { var abrvStr = inputBx.Text; foreach (var kvp in d) { abrvStr = abrvStr.Replace(kvp.Key, kvp.Value); } outputBx.Text = abrvStr; } 基本上它是字典程序的一部分,因此当您在文本框1中输入一行文本时,它会出现在文本框2中,并且单词替换为文本框中的文本框1。 所以,如果黑色,白色在字典中,我进入墙壁是黑色的。 墙是白色的将出现在文本框2中。所以一切都很好。 现在是棘手的部分,我将如何改变它以允许我在文本框2中将更改的单词更改为红色。 所以在上面的例子中,墙是白色的 。 白色在文本的输出行中是红色的。 注意,我使用的是RichTextBoxes C#语言!

如何在richTextBox上创建字符串Bold的特定部分?

我有一个基于Form和2 richTextBoxes的聊天应用程序! richTextBox1用于显示所有对话 richTextBox_TextToSend用于键入要发送的消息 当用户键入消息并按Enter键时,输入的文本将出现在richTextBox1中 private void button1_Click(object sender, EventArgs e) { // insert message to database if(richTextBox_TextToSend.TextLength>0) { string txt = richTextBox_TextToSend.Text; // send the typed message sendMessage(from,to,task_id,txt); // show the typed text in the richTextBox1 richTextBox1.Text += from+”: “+richTextBox_TextToSend.Text+”\n”; richTextBox_TextToSend.Clear(); } } 类型字符串的变量包含发送消息的人的名称(使用应用程序的用户) 如何在正常字体样式中以粗体和其他文本显示名称,因此在键入消息后,我明白了 Chakib Yousfi :您好…… 代替 Chakib Yousfi:你好…… 任何帮助将受到高度赞赏。

覆盖.NET RichTextBox上的ShortCut键

我正在使用RichTextBox(.NET WinForms 3.5),并希望覆盖一些标准的ShortCut键….例如,我不希望Ctrl + I通过RichText方法使文本斜体,但是而是运行我自己的方法来处理文本。 有任何想法吗?