屏蔽TextBox右键问题,不解!!!!急!!
WinForm..
在网上找到一段屏蔽textBox右键的代码,按如下方法加入,但总不成功,右键菜单还是有,还是可复制/粘贴等操作,求解!
//在Form1.Designer.cs里加入
private System.Windows.Forms.TextBox textBox1=new TextBoxEx();
//在Form1.cs里加入
public class TextBoxEx : System.Windows.Forms.TextBox
{
private const int WM_GETTEXT = 0x000d;
private const int WM_COPY = 0x0301;
private const int WM_PASTE = 0x0302;
private const int WM_CONTEXTMENU = 0x007B;
private const int WM_RBUTTONDOWN = 0x0204;
public TextBoxEx()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_RBUTTONDOWN || m.Msg == WM_GETTEXT || m.Msg == WM_COPY) return;//WM_RBUTTONDOWN是为了不让出现鼠标菜单
base.WndProc(ref m);
}
}
------解决方案--------------------你这样来做:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace ManuApp
{
public class TextBoxNoManu:System.Windows.Forms.TextBox
{
public TextBoxNoManu()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
protected override void WndProc(ref Message m)
{
if(m.Msg != 0x007B)
{
base.WndProc (ref m);
}
}
}
}
------解决方案--------------------lz的方法就是写了一个自定义控件 编译后 把该自定义控件拖到界面中 效果就和预期的一样哦