2010-05-28 81 views
0

如何防止复制&在蒙面编辑文本框中粘贴任何文本[使用右键单击以及Ctrl + C和Ctrl + v键]在C#/ vb.net?防止在C#/ vb.net中的蒙面编辑文本框中复制和粘贴

+0

我还没有必要使用蒙面编辑文本框,但它似乎像防止复制/粘贴与掩盖文本齐头并进。它真的不会阻止它,或者至少提供一个设置来做到这一点? – jamone 2010-05-28 14:30:21

回答

0

TextBox继承并重写WndProc方法:

private const int WM_CUT = 0x0300; 
private const int WM_COPY = 0x0301; 
private const int WM_PASTE = 0x0302; 

protected override void WndProc(ref Messsage m) 
{ 
    if (m.Msg == WM_CUT || m.Msg == WM_COPY || m.Msg == WM_PASTE) 
     return; 
    base.WndProc(ref m); 
} 

还应防止复制/粘贴从上下文菜单中

0

for ctrl + v/c您需要继承TextBox类并覆盖函数ProcessCmdKey 然后仅在未按下ctrl + c或ctrl + v时调用基类。

1

你可以用你自己的上下文菜单中禁用鼠标点击替换默认上下文菜单做然后一边控制键被处理KeyDown事件和喜欢写代码按你可以只是停止任何键盘输入:

If e.Modifiers = Keys.Control Then 
    e.Handled = True 
End If 
0

将ShortboxEnabled文本框的属性设置为False。 缺点: 这也会阻止该文本框的Ctrl + A和右键单击菜单。

相关问题