RichTextbox 操作

</pre><p>1. 将内容转换为数组</p><pre name="code" class="csharp">FlowDocument fd = richTextBox1.Document;
System.IO.Stream s = new System.IO.MemoryStream();
System.Windows.Markup.XamlWriter.Save(fd, s);
byte[] data = new byte[s.Length];
s.Position = 0;
s.Read(data, 0, data.Length);s.Close();


2. 从数组中加载内容

System.IO.Stream news = new System.IO.MemoryStream(data);
FlowDocument newfd = System.Windows.Markup.XamlReader.Load(news) as FlowDocument;
richTextBox2.Document = newfd;

3. 命令

复制:   ToolBarCopy.Command = System.Windows.Input.ApplicationCommands.Copy;
 剪切:   toolBarCut.Command = System.Windows.Input.ApplicationCommands.Cut;
 粘贴:   ToolBarPaste.Command = System.Windows.Input.ApplicationCommands.Paste;
 撤销:   ToolBarUndo.Command = System.Windows.Input.ApplicationCommands.Undo;
 复原:   ToolBarRedo.Command = System.Windows.Input.ApplicationCommands.Redo;
 文字居中:  toolBarContentCenter.Command = System.Windows.Documents.EditingCommands.AlignCenter;
 文字居右:  toolBarContentRight.Command = System.Windows.Documents.EditingCommands.AlignRight;
 文字居左:  toolBarContentLeft.Command = System.Windows.Documents.EditingCommands.AlignLeft;
 有序排列:  ToolBarNumbering.Command = System.Windows.Documents.EditingCommands.ToggleNumbering;
 无序排列:  ToolBarBullets.Command = System.Windows.Documents.EditingCommands.ToggleBullets;

在实际使用时发现只这样操作的话,按钮无法点击,需将按钮放在toolbar里才可。


4. 设置颜色

System.Windows.Media.Color clr =
System.Windows.Media.Color.FromArgb(BkColor.A,BkColor.R,BkColor.G,BkColor.B);
richTextBox1.Selection.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(clr));

5. 设置字体

richTextBox1.Selection.ApplyPropertyValue(TextElement.FontFamilyProperty,SelFnt);

6. 设置大小

richTextBox1.Selection.ApplyPropertyValue(TextElement.FontSizeProperty, isize.ToString());
isize是整型

在VB.NET中,可以使用RichTextBox控件的Undo方法来执行撤销操作。该方法会撤销最近的文本更改。以下是一个示例代码: ```vb.net RichTextBox1.Undo() ``` 另外,你还可以使用SendMessage函数来发送EM_UNDO消息给RichTextBox控件,以执行撤销操作。EM_UNDO消息的值为199。以下是一个示例代码: ```vb.net SendMessage(RichTextBox1.Handle, 199, 0, 0) ``` 请注意,以上代码中的RichTextBox1是指你的RichTextBox控件的名称。你需要将其替换为你实际使用的控件名称。引用\[1\]提供了获取当前被选中文本位置的方法,但在撤销操作中并不需要使用该方法。引用\[2\]提供了一个ReadP函数的示例,但在撤销操作中也不需要使用该函数。引用\[3\]提供了一个SendMessage函数的声明,用于发送消息给窗口。 #### 引用[.reference_title] - *1* *3* [VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)](https://blog.csdn.net/miaozk2006/article/details/82422138)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [VB实现TextBox撤销功能[后退-前进]](https://blog.csdn.net/ty5858/article/details/124365370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值