protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if ((keyData == (Keys.Control | Keys.C)) || keyData == (Keys.Control | Keys.V))
            {
                IDataObject data = Clipboard.GetDataObject();//从剪贴板中获取数据
                if (Clipboard.ContainsText(TextDataFormat.Html))
                {
                    System.IO.MemoryStream vMemoryStream =
                            Clipboard.GetData("Html Format") as System.IO.MemoryStream;
                    vMemoryStream.Position = 0;
                    byte[] vBytes = new byte[vMemoryStream.Length];
                    vMemoryStream.Read(vBytes, 0, (int)vMemoryStream.Length);
                    textBox1.Text = Encoding.UTF8.GetString(vBytes);
                }
                else if (data.GetDataPresent(DataFormats.Text))
                {
                    textBox1.Text = data.GetData(DataFormats.Text).ToString();
                }
                return false;
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

解决方案 »

  1.   

    if ((keyData == (Keys.Control | Keys.C)) || keyData == (Keys.Control | Keys.V))
      {
      IDataObject data = Clipboard.GetDataObject();//从剪贴板中获取数据
      if (Clipboard.ContainsText(TextDataFormat.Html))
      {
      System.IO.MemoryStream vMemoryStream =
      Clipboard.GetData("Html Format") as System.IO.MemoryStream;
      vMemoryStream.Position = 0;
      byte[] vBytes = new byte[vMemoryStream.Length];
      vMemoryStream.Read(vBytes, 0, (int)vMemoryStream.Length);
      this.Text = Encoding.UTF8.GetString(vBytes);
      }
      else if (data.GetDataPresent(DataFormats.Text))
      {
      this.Text = data.GetData(DataFormats.Text).ToString();
      }
      

  2.   

    就是当我在textbox粘贴时,我将不执行原有的粘贴,替换成我写的后台写的东西
      

  3.   

    将属性里的shortcutsEnabled设为false看行不行
      

  4.   


            private void textBox2_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyData == (Keys.Control | Keys.V))
                {
                    e.Handled = true;
                    MessageBox.Show("asdfsadfhkjasdhfkjasd");
                }
            }
    根本没法执行了
      

  5.   

    查 拦截热键,判断ctrl和v
      

  6.   


     textBox1.ShortcutsEnabled = false;private void textBox1_KeyUp(object sender, KeyEventArgs e)
            {
                if (e.Control && e.KeyCode == Keys.V)
                {
                    int start = textBox1.SelectionStart;                 
                    string text = textBox1.Text.Substring(0, start) + "我是替换文本"; 
                    textBox1.Text = text + textBox1.Text.Substring(start + textBox1.SelectionLength);
                    textBox1.SelectionStart = text.Length;
                }
            }