防止抄袭,;在C#/vb.net中粘贴蒙面编辑文本框
如何防止在C#/vb.net中的屏蔽编辑文本框中复制和粘贴任何文本[使用右键单击并同时使用Ctrl+C和Ctrl+v键]?对于Ctrl+v/C,您需要继承TextBox类并重写函数防止抄袭,;在C#/vb.net中粘贴蒙面编辑文本框,c#,C#,如何防止在C#/vb.net中的屏蔽编辑文本框中复制和粘贴任何文本[使用右键单击并同时使用Ctrl+C和Ctrl+v键]?对于Ctrl+v/C,您需要继承TextBox类并重写函数ProcessCmdKey 然后仅在未按下ctrl+c或ctrl+v时调用基类。您可以通过使用自己的上下文菜单替换默认上下文菜单来禁用鼠标单击,然后在按下控制键时停止任何键盘输入,方法是处理按键事件并编写如下代码: If e.Modifiers = Keys.Control Then e.Handled = T
ProcessCmdKey
然后仅在未按下ctrl+c或ctrl+v时调用基类。您可以通过使用自己的上下文菜单替换默认上下文菜单来禁用鼠标单击,然后在按下控制键时停止任何键盘输入,方法是处理按键事件并编写如下代码:
If e.Modifiers = Keys.Control Then
e.Handled = True
End If
从
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);
}
它还应防止从上下文菜单复制/粘贴将textbox的ShortcutsEnabled属性设置为False。 缺点:
这也将阻止Ctrl+A和右键单击该文本框的菜单。我不需要使用屏蔽编辑文本框,但似乎阻止复制/粘贴与屏蔽文本齐头并进。它真的没有阻止它,或者至少提供了这样做的设置?