日期:2014-05-19  浏览次数:20884 次

TextBox 屏蔽鼠标右键复制粘贴问题 Winform
是winform.

找到这段代码

原文如下:
这个好象可以屏蔽掉汉字输入和粘贴问题。
public   const   int   WM_PASTE   =   0x0302;//粘貼消息  
protected   override   void   WndProc(ref   Message   m)  
{
if(m.Msg   !=   WM_PASTE)base.WndProc   (ref   m);
}


但是网上这段代码怎么不起作用?

其实我要做屏蔽鼠标剪切和鼠标删除


------解决方案--------------------
应该放到textbox的重载入面
------解决方案--------------------
可以把鼠标右键的菜单屏蔽掉
private System.Windows.Forms.ContextMenu screenMenu = new ContextMenu();
textbox.ContextMenu=screenMenu;

------解决方案--------------------
参考

http://community.csdn.net/Expert/TopicView3.asp?id=5074211
------解决方案--------------------
: TextBox

override
------解决方案--------------------
新建一个class 重载
public class MyTextBox : System.Windows.Forms.TextBox
{
public const int WM_PASTE = 0x0302;//粘貼消息
protected override void WndProc(ref Message m)
{
if(m.Msg != WM_PASTE)base.WndProc (ref m);
}
}

你将你想屏蔽的TextBox改成这个类
------解决方案--------------------
新建一个class 重载
public class MyTextBox : System.Windows.Forms.TextBox
{
public const int WM_PASTE = 0x0302;//粘貼消息
protected override void WndProc(ref Message m)
{
if(m.Msg != WM_PASTE)base.WndProc (ref m);
}
}
然后
private System.Windows.Forms.TextBox textbox1
this.textbox1=new MyTextBox ();

------解决方案--------------------
我试过就可以,
看看你new TextBox的地方是不是这样
MyTextBox a=new MyTextBox();
------解决方案--------------------
WM_CUT= 0x0300、WM_COPY = 0x0301