C# 在Win form应用程序中禁用右键单击
我正在制作一个windows窗体应用程序 我在那个应用程序中添加了一个用户控件 是否有方法禁用右键单击事件。 因为如果我使用C# 在Win form应用程序中禁用右键单击,c#,.net,C#,.net,我正在制作一个windows窗体应用程序 我在那个应用程序中添加了一个用户控件 是否有方法禁用右键单击事件。 因为如果我使用 Button.click += SomeMethod 如果同时单击(左键和右键),它将转到某个方法。 我只想在左键单击的情况下执行此操作。您可以检测在事件处理程序中单击了哪个鼠标按钮 检查处理程序的参数您不能处理在事件内部单击的按钮吗 private void uc_MouseClick(object sender, MouseEventArgs e) { if
Button.click += SomeMethod
如果同时单击(左键和右键),它将转到某个方法。
我只想在左键单击的情况下执行此操作。您可以检测在事件处理程序中单击了哪个鼠标按钮
检查处理程序的参数您不能处理在事件内部单击的按钮吗
private void uc_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
//more logic here
}
}
您可以选中该按钮并调用本机onClick来查找左键单击的情况 [伪代码]
SomeMethod(e){
if (e.Button == left){
control.onClick(e);
}
}
你可以用很多方法 1) 如果要使用按钮。请单击事件,然后执行以下代码:
Button.Click += SomeMethod;
private void SomeMethod(object sender, EventArgs e)
{
System.Windows.Forms.Button bt = sender as System.Windows.Forms.Button;
if (bt != null)
{
if (bt.Equals(System.Windows.Forms.MouseButtons.Left))
{
// do something;
}
}
}
2) 或者使用windows窗体“button.MouseClick”中的鼠标单击事件
我希望我们可以使用e.Handled=true,但是在本例中,两个事件参数都没有Handled属性,因此您必须手动检查它们
Button.MouseClick += SomeMethod;
private void SomeMethod(object sender, MouseEventArgs e)
{
if (!e.Button.Equals(System.Windows.Forms.MouseButtons.Right))
{
// do work
}
}