首页 > 编程语言 >C# RichTextBox实现(复制, 剪切,粘贴,全选)的几种方法

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

时间:2023-07-03 11:33:16浏览次数:39  
标签:System C# contextMenuStrip1 RichTextBox richTextBox1 全选 粘贴

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

第一种:通过发送击键到应用程序来实现。
先焦点定位到当前活动的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();

标签:System,C#,contextMenuStrip1,RichTextBox,richTextBox1,全选,粘贴
From: https://www.cnblogs.com/tyxajh/p/17522330.html

相关文章

  • 【CF1621G】Weighted Increasing Subsequences 题解(优化树状数组)
    CF传送门|LG传送门。优化树状数组+反向处理。Solution发现直接做不好下手。难点主要在求出所有的上升子序列并计算它们分别的贡献。所以需要反向考虑每个单点在什么情况下产生贡献。一个单点会产生多少贡献。一个单点产生贡献的条件很容易得到。一个是在一个上升子序......
  • Oracle-控制文件成员
    为保证数据库安全,防止因为控制文件损坏而造成实例崩溃CRASH,增加一个控制文件成员,并存放于不同于当前的ASM磁盘上,以备不时之需。1.增加一组控制文件参数[RAC01]注:第2个控制文件只需要指定到其他ASM磁盘组,+DATA为原控制文件所在ASM磁盘组。SQL>setlines999pages999showparam......
  • Linux MMC 开发指南
    文章目录LinuxMMC开发指南1前言1.1文档简介1.2目标读者1.3适用范围2模块介绍2.1模块功能介绍2.2相关术语介绍2.2.1硬件术语2.2.2软件术语2.3模块配置介绍2.3.1sys_config.fex配置说明2.3.2DeviceTree配置说明2.3.2.11.uboot阶段2.3.2.1.1(1)sdc02.3.2.1.2(2)sdc22......
  • 行行AI人才直播第6期:当AIGC时代降临,当代青年如何把握新时代机遇
    AIGC时代的到来,给我们带来了无限的想象空间和创造力。AIGC不仅可以提高内容生产的效率和质量,还可以创造出人类无法想象的新颖和有价值的内容,为数字文化产业、产业互联网、社会价值等领域带来变革性的影响。那么,作为个人,我们如何迎接AIGC时代呢?因此,行行AI人才特邀巴比特&无界AI首......
  • 分布式事务(1)---2PC和3PC原理
    分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。分布式事物常见解决方案:2PC两段提交协议 https://www.cnblogs.com/qdhxhz/p/11167025.html3PC三段提交协议(弥补两端提交协议缺点) https://www.cnblogs.com/qdh......
  • 如何使用libavfilter库给pcm音频采样数据添加音频滤镜?
    一.初始化音频滤镜初始化音频滤镜的方法基本上和初始化视频滤镜的方法相同,不懂的可以看上篇博客,这里直接给出代码://audio_filter_core.cpp#defineINPUT_SAMPLERATE44100#defineINPUT_FORMATAV_SAMPLE_FMT_FLTP#defineINPUT_CHANNEL_LAYOUTAV_CH_LAYOUT_STEREOsta......
  • JavaScript 事件的委派
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <scripttype="text/javascript"> window.onload=function(){ varu1=document.getElementById("......
  • python一题多解:编写函数 change(str1) ,其功能是对参数 str1 进行大小写转换
    #习题6,3.编程题,p95#(2)编写函数change(str1),其功能是对参数str1进行大小写转换,#将大写字母转换成小写字母;#小写字母转换成大写字母;#非英文字符不转换。#类似p54,4.编程题(1),用分支语句实现。defchange1(str1):ret=""foriinrange(len(s......
  • VM VirtualBox + CentOS 7 本地化部署yapi服务
    一、安装OracleVMVirtualBoxVirtualBox下载地址:https://www.virtualbox.org/wiki/Downloads按需选择系统版本安装,安装完成后启动。安装VirtualBox插件,双击下载文件即可安装二、创建CentOS虚拟机选择无界面版本,下载地址:http://mirrors.jlu.edu.cn/centos/7.9.......
  • 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in
    项目场景:mysql创建function报错误1418-ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAin问题描述:执行创建函数的sql语句时,提示:ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenab......