ninja_aya 发表于 2016-11-4 22:23:29

禁用Ctrl+V

我在keydown事件中捕获ctrl v的组合建,但是始终无法捕获到。请问如何keydown事件中捕获ctrl v的组合建
代码如下
private void TextControl_KeyDown(object sender, KeyEventArgs e)
      {
            if (e.Control && (e.KeyCode == Keys.V))
            {
                e.Handled = true;
            }
      }

gw0506 发表于 2016-11-7 15:29:30

Ctrl+V被吃掉了,你在keydown中拿不到。你要封掉粘贴,直接
this._textControl.CanPaste = false;

ninja_aya 发表于 2016-11-10 08:39:28

this._textControl.CanPaste = false;没用啊,他是只读的,我需要在编辑的时候动态设置是否可以黏贴

gw0506 发表于 2016-11-11 15:24:44

抱歉,我的疏忽。这么做吧,如下代码,你一定能看懂。
      this.textControl1.KeyDown += textControl1_KeyDown;
      this.textControl1.PreviewKeyDown += textControl1_PreviewKeyDown;

    private bool flag = false;
    void textControl1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
      if (e.Control && (e.KeyCode == Keys.V))
      {
            flag = true;
      }
    }

    private void textControl1_KeyDown(object sender, KeyEventArgs e)
    {
      if (flag)
      {
            e.Handled = true;
            flag = false;
      }
    }
页: [1]
查看完整版本: 禁用Ctrl+V