如何实现文本框禁止粘贴?
如何实现文本框禁止粘贴?
[解决办法]
他写的是C#代码吧
[解决办法]
VB.NET代码如下:
Friend Class TextBoxEx
Inherits TextBox
' Methods
Public Sub New()
End Sub
'这是系统消息的处理函数
Protected Overrides Sub WndProc(ByRef m As Message)
'770是系统的粘贴消息
If (m.Msg = 770) Then
m.Result = IntPtr.Zero '这里让系统不再处理这个消息
Else
MyBase.WndProc(m)
End If
End Sub
End Class
[解决办法]
拦截拷贝的消息0x0302
[解决办法]
绑一个空的右键菜单不就可以了啊
[解决办法]
当焦点onfocus()到文本框上去的时候,就清空剪切板?
[解决办法]
从TextBox类继承一个新的类,然后用这个新的TextBox就可以了,代码如下:
class PasteTextBox: System.Windows.Forms.TextBox
{
protected override void WndProc(ref System.Windows.Forms.Message m)
{
//禁止粘贴
if (m.Msg == 0x0302)
{
m.Result = IntPtr.Zero;
return;
}
base.WndProc(ref m);
}
}
WinForm的是怎样呢?
[解决办法]
你这样做好了,把TextBox.ShortcutsEnabled 属性设置为False以用来不显示菜单,但这一定要在VS2005下才可以使用.
this.textBox.ShortcutsEnabled=false;
这样文本框就不会显示右键菜单了, 不过这样的话,像一些快捷键就不能使用了.比如:
Ctrl+Z
Ctrl+E
Ctrl+C
Ctrl+Y
Ctrl+X
Ctrl+Backspace
Ctrl+V
Ctrl+Delete
Ctrl+A
Shift+Delete
Ctrl+L
Shift+Insert
Ctrl+R