检测左键鼠标单击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内置的编辑器:

在此处输入图像描述

  1. 转到属性窗口(如果没有看到,请按Alt + Enter )。
  2. 选择事件图标(看起来像闪电)。
  3. 双击Click右侧的空ComboBox。
  4. 您将被带到一个空的方法,您可以放置​​您的代码。

方法本身是正确的。 我认为您的实际问题是:您尚未将此方法添加到MouseClick事件中。

在C#中 – 以及大多数其他语言 – 事件由事件处理程序处理。 Windows窗体和控件具有控件中发生的所有事件的事件,例如OnClickOnResize 。 您可以将方法附加到这些事件,并在实际事件发生时自动调用这些方法。 只需将以下行添加到表单的构造函数, Form_Load -method, InitializeComponent -method等,或者:

 this.MouseClick += mouseClick; 

现在,当MouseClick事件发生时,将自动调用方法mouseClick

我建议阅读Events C#Programming Guide 。 您需要添加一个事件处理程序,如下所示:

 form1.MouseClick += mouseClick;