C# RichTextBox实现(复制, 剪切,粘贴,全选)的几种方法

发布时间 2023-07-03 11:30:41作者: tyxajh

实现该菜单功能主要有两种方法:

第一种:通过发送击键到应用程序来实现。
先焦点定位到当前活动的RichTextBox,然后再通过发送击键命令来实现操作功能:

richTextBox1.Focus();

SendKeys.Send("^a");//全选

SendKeys.Send("^c");//复制

SendKeys.Send("^x");//剪切

SendKeys.Send("^v");//粘贴

 

通过 RichTextBox,contextMenuStrip 实现:

通过 RichTextBox控件的context属性 绑定你设置的contextmenustrip

richTextBox1. SelectAll();//全选

richTextBox1.Copy();//复制

richTextBox1.Cut();//剪切

richTextBox1.Paste();//粘贴

 private void contextMenuStrip1_Click(object sender, System.EventArgs e)
{ richTextBox1.Cut();} // 剪切
private void contextMenuStrip1_Click(object sender, System.EventArgs e)
{ richTextBox1.Copy();} // 拷贝
private void contextMenuStrip1_Click(object sender, System.EventArgs e)
{ richTextBox1.Paste();} // 粘贴
private void contextMenuStrip1_Click(object sender, System.EventArgs e)
{ richTextBox1.Undo();} // 撤销
private void contextMenuStrip1_Click(object sender, System.EventArgs e)
{ richTextBox1.Redo();} // 恢复

第二种:直接通过命令操作剪贴板实现
//复制

Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);

 

//剪切

Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);

richTextBox1.SelectedRtf="";

 

//粘贴

richTextBox1.Paste();

 

//全选(其中全选又有两种方式)

richTextBox1.Focus();//设置先焦点定位到当前活动的RichTextBox,这一句很重要,否则它不能正确执行

 

//另一种则是通过Select(int start,int length)方法来实现

richTextBox1.Select(0, richTextBox1.Rtf.Length); //richTextBox1.Rtf.Length代表RichTextBox中文字的长度

 

//一种是直接采用NET框架当中提供的SelectAll()方法,进行全选

//richTextBox1.SelectAll();