组合键---复制、粘贴到剪贴板

应用背景:项目开发用到一个自定义控件,把这个控件设置成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);
                }
            }

        }

//粘贴代码备注
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); 
  }
}

 










posted on 2012-09-25 12:15  妖叨叨  阅读(1314)  评论(0编辑  收藏  举报

导航