编程与开发,写代码也是一种创作方式

C# TextBox屏蔽粘贴快捷键Ctrl+V

网上其它答案中有以下几个方案:

  • 自定义控件,继承TextBox类,并重写WndProc
  • 调用API函数RegisterHotKey注册系统热键
  • 设置ShortcutsEnabled属性为false以屏蔽所有快捷键,及鼠标右键
  • 用RichTextBox控件替代TextBox

都不太适用我当前项目的需求,自己找到一个更简单的办法,若您也需要更适合的其它方案,可以参考这个办法:

在TextBox的KeyPress事件中增加以下代码:

if (e.KeyChar == System.Convert.ToChar(22))
{
    e.Handled = true;//屏蔽Ctrl-v
}

其中(char)22代表Ctrl+v组合键,其它组合键比如Ctrl+A则为(char)1。
更多用法举一反三,此文仅作抛砖引玉:)