winform如何屏蔽鼠标右键

safematch 2006-03-31 02:10:16
如提,在winform中如何屏蔽鼠标右键,请高手帮忙!谢谢
...全文
616 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
safematch 2006-04-04
  • 打赏
  • 举报
回复
运行时出错,重载Navigate方法未能获取参数"1",这是怎么回事?
mmqingfeng 2006-04-03
  • 打赏
  • 举报
回复
首先,建立一个消息过滤器

public class RButtonMessageFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
const int WM_RBUTTONDBLCLK = 0x206;
const int WM_RBUTTONDOWN = 0x204;
const int WM_RBUTTONUP = 0x205;

switch (m.Msg)
{
//过滤掉所有与右键有关的消息
case WM_RBUTTONDBLCLK:
case WM_RBUTTONDOWN:
case WM_RBUTTONUP:
{
return true;
}
default:
{
return false;
}
}
}
}

然后,在启动的时候,加入过滤器

static void Main()
{
RButtonMessageFilter filter = new RButtonMessageFilter();
Application.AddMessageFilter(filter);

Application.Run(new Form1());


Application.RemoveMessageFilter(filter);
}


使用下面的代码加载网页,测试右键禁用有效

private void Form1_Load(object sender, System.EventArgs e)
{
this.axWebBrowser1.Navigate("file:///F:/ASP.NET.htm");
}
sx_lxh 2006-03-31
  • 打赏
  • 举报
回复
试试:
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg <> &H7B Then

MyBase.WndProc(m)
End If
End Sub
safematch 2006-03-31
  • 打赏
  • 举报
回复
怎么激活WebBrowser的onmouse事件啊,本来是没有的
safematch 2006-03-31
  • 打赏
  • 举报
回复
楼上的哥哥,说说怎么拦截啊
hyj_828 2006-03-31
  • 打赏
  • 举报
回复
管你啥控件,可以在整个程序级别来拦截鼠标右键.
copico 2006-03-31
  • 打赏
  • 举报
回复
那就激活WebBrowser的onmouse,里面写同样的代码
safematch 2006-03-31
  • 打赏
  • 举报
回复
如果是winform里的某个控件呢,比如说WebBrowser,我想让鼠标在WebBrowser里也不能用右键。
copico 2006-03-31
  • 打赏
  • 举报
回复
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
If e.Button.Right Then
'不做动作
End If
End Sub

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧