检测左键鼠标单击Winform
我想要做的是当我点击我的winform时,让我的winform显示一个调试行。 但是,当我这样做时,没有任何反应。 我知道如何让按钮/其他点击事件发生。 但我需要的是能够点击我的winform中的任何地方。
我在过去一小时用谷歌搜索了这个,但看不出我做错了什么。 据我所知,此代码在检测鼠标点击时应该是正确的。 使用form1.cs类保存此方法:
private void mouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Trace.WriteLine("Mouse clicked"); } }
我已经尝试过设置制动点,但这些也没有被触发。 我做错了什么?
很抱歉这个愚蠢的新手问题,但我对winform编程很新。
如何添加EventHandler:
public Form1() { InitializeComponent(); // This line should you place in the InitializeComponent() method. this.MouseClick += mouseClick; }
使用Visual Studio内置的编辑器:
- 转到属性窗口(如果没有看到,请按
Alt + Enter
)。 - 选择事件图标(看起来像闪电)。
- 双击Click右侧的空ComboBox。
- 您将被带到一个空的方法,您可以放置您的代码。
方法本身是正确的。 我认为您的实际问题是:您尚未将此方法添加到MouseClick
事件中。
在C#中 – 以及大多数其他语言 – 事件由事件处理程序处理。 Windows窗体和控件具有控件中发生的所有事件的事件,例如OnClick
或OnResize
。 您可以将方法附加到这些事件,并在实际事件发生时自动调用这些方法。 只需将以下行添加到表单的构造函数, Form_Load
-method, InitializeComponent
-method等,或者:
this.MouseClick += mouseClick;
现在,当MouseClick
事件发生时,将自动调用方法mouseClick
。
我建议阅读Events C#Programming Guide 。 您需要添加一个事件处理程序,如下所示:
form1.MouseClick += mouseClick;