您能为此提供代码段吗?
答案 0 :(得分:8)
捕捉击键是不够的,用户也可以使用上下文菜单进行粘贴。这需要捕获较低级别的操作,您必须捕获WM_PASTE消息并阻止它到达本机Windows控件。在项目中添加一个新类并粘贴下面显示的代码。编译。将新控件从工具箱顶部拖放到表单上。它确实有一个缺陷,在上下文菜单中没有禁用粘贴命令。没有简单的解决方法,你必须用自己的替换它。
using System;
using System.Windows.Forms;
class NopasteTextBox : TextBox {
protected override void WndProc(ref Message m) {
// Trap WM_PASTE:
if (m.Msg == 0x302) return;
base.WndProc(ref m);
}
}