组合键---复制、粘贴到剪贴板
应用背景:项目开发用到一个自定义控件,把这个控件设置成readonly,能用右键复制,但是用键盘快捷键复制无效,且没这个自定义控件源码。
解决方案一:注册这个控件的KeyDown事件,当按下的按钮是ctrl+C时,强行把控件内容复制到粘贴板。
private void lianxiangCtrlC_KeyDown(object sender, KeyEventArgs e) { if (e.Control)//e.Modifiers.CompareTo(Keys.Control) == 0 { if (e.KeyCode == Keys.C) { Clipboard.SetDataObject(((System.Windows.Forms.TextBox)sender).Text); } } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
private void button1_Click(object sender, System.EventArgs e) { IDataObject iData = Clipboard.GetDataObject(); if(iData.GetDataPresent(DataFormats.Text)) { textBox1.Text = (String)iData.GetData(DataFormats.Text); } }