为RichTextBox添加快捷功能菜单(复制,粘贴,全选等)

有两种方式

1.通过发送击键到应用程序来实现
先焦点定位到当前活动的RichTextBox,然后再通过发送击键命令来实现操作功能
rtbox_MessageHistory.Focus();
SendKeys.Send(
"^a");//全选
SendKeys.Send("^c");//复制
SendKeys.Send("^x");//剪切
SendKeys.Send("^v");//粘贴

2.直接通过命令操作剪贴板实现
(复制)
Clipboard.SetData(DataFormats.Rtf, rtbox_SendMessage.SelectedRtf);
//复制RTF数据到剪贴板
(剪切)
Clipboard.SetData(DataFormats.Rtf, rtbox_SendMessage.SelectedRtf);
//复制RTF数据到剪贴板
rtbox_SendMessage.SelectedRtf="";//再把当前选取的RTF内容清除掉,当前就实现剪切功能了.

(粘贴)
rtbox_SendMessage.Paste();
//把剪贴板上的数据粘贴到目标RichTextBox

(全选)

rtbox_MessageHistory.Focus();
//设置先焦点定位到当前活动的RichTextBox,这一句很重要,否则它不能正确执行
//其中全选又有两种方式,第一个是直接采用NET框架当中提供的SelectAll()方法,进行全选
//另一个则是通过Select(int start,int length)方法来实现

rtbox_MessageHistory.Select(
0, rtbox_MessageHistory.Rtf.Length);
            
//rtbox_MessageHistory.SelectAll();

//rtbox_MessageHistory.Rtf.Length代表RichTextBox中文字的长度




 

原文地址:https://www.cnblogs.com/symbol441/p/952363.html