捕获击键是不够的,用户也可以使用上下文菜单进行粘贴.这需要捕获较低级别的操作,您必须捕获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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |