如何获得鼠标右键事件?将 EventArgs 更改为 MouseEventArgs 会导致 Form1Designer

3

本文介绍了如何获得鼠标右键事件?将 EventArgs 更改为 MouseEventArgs 会导致 Form1Designer 出现错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有一种方法可以检测Visual Studio通过双击表单进行的左键单击事件.

I have a method to detect the left click event that visual studio made by double clicking on the form.

private void pictureBox1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Left click");
}

我想通过右键单击同一个对象来获得右键单击事件.

I want to have a right-click event by right-clicking on the same object.

我在网上看到你可以使用这个开关:

I read online that you can use this switch:

private void pictureBox1_Click(object sender, EventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Right){MessageBox.Show("Right click");}
    if (e.Button == System.Windows.Forms.MouseButtons.Left){MessageBox.Show("Left click");}
}

问题在于,当我执行 e.Button 时,它会产生错误错误:

The trouble is that when I do e.Button it has has yields an error error:

System.EventArgs 不包含 Button 的定义...

System.EventArgs does not contain a definition for Button...

所以我通过将 EventArgs.e 更改为 MouseEventArgs.e

So I fix this by changing the EventArgs.e to MouseEventArgs.e

但是在Form1Designer中出现了一个新的错误,事件行是:

But then there is a new error in Form1Designer where the event line is:

this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);

错误提示:

pictureBox1_Click 没有重载匹配委托 System.EventHandler

我该如何解决这个问题?感谢阅读

How do I fix this? Thanks for reading

推荐答案

您应该在 click 事件处理程序中引入强制转换

You should introduce a cast inside the click event handler

MouseEventArgs me = (MouseEventArgs) e;

这篇关于如何获得鼠标右键事件?将 EventArgs 更改为 MouseEventArgs 会导致 Form1Designer 出现错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

C# 中的多播委托奇怪行为?
Multicast delegate weird behavior in C#?(C# 中的多播委托奇怪行为?)...
2023-11-11 C#/.NET开发问题
6

参数计数与调用不匹配?
Parameter count mismatch with Invoke?(参数计数与调用不匹配?)...
2023-11-11 C#/.NET开发问题
26

如何将代表存储在列表中
How to store delegates in a List(如何将代表存储在列表中)...
2023-11-11 C#/.NET开发问题
6

代表如何工作(在后台)?
How delegates work (in the background)?(代表如何工作(在后台)?)...
2023-11-11 C#/.NET开发问题
5

没有 EndInvoke 的 C# 异步调用?
C# Asynchronous call without EndInvoke?(没有 EndInvoke 的 C# 异步调用?)...
2023-11-11 C#/.NET开发问题
2

Delegate.CreateDelegate() 和泛型:错误绑定到目标方法
Delegate.CreateDelegate() and generics: Error binding to target method(Delegate.CreateDelegate() 和泛型:错误绑定到目标方法)...
2023-11-11 C#/.NET开发问题
14