首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么实现文本框禁止粘贴

2011-12-13 
如何实现文本框禁止粘贴?如何实现文本框禁止粘贴?[解决办法]他写的是C#代码吧[解决办法]VB.NET代码如下:Fr

如何实现文本框禁止粘贴?
如何实现文本框禁止粘贴?

[解决办法]
他写的是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

热点排行