检测左键鼠标单击Winform

时间:2013-02-01 11:23:58

标签: c# winforms

我想要做的就是让我的winform在我点击winform时显示调试行。但是,当我这样做时,没有任何反应。我知道如何让按钮/其他点击事件发生。但我需要的是能够点击我的winform中的任何地方。

我在过去的一小时里搜索了这个,但看不出我做错了什么。据我所知,这段代码在检测鼠标点击时应该是正确的。此方法使用form1.cs类:

进行
  private void mouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {    
            Trace.WriteLine("Mouse clicked");
        }
    }

我已经尝试过设置制动点,但这些也没有被触发。我做错了什么?

很抱歉这个愚蠢的新手问题,但我对winform编程很新。

4 个答案:

答案 0 :(得分:9)

使用Visual Studio内置的编辑器:

enter image description here

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

答案 1 :(得分:8)

如何添加EventHandler:

public Form1()
{
    InitializeComponent();
    // This line should you place in the InitializeComponent() method.
    this.MouseClick += mouseClick;
}

答案 2 :(得分:4)

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

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

this.MouseClick += mouseClick;

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

答案 3 :(得分:3)

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

form1.MouseClick += mouseClick;