3

如何以及在哪里可以在表单上注册鼠标事件。当我双击表单时,它会为我生成 Form_Load 事件,我可以在其中添加代码。但是,当我添加类似

private void Form1_MouseDown(object sender, MouseEventArgs e{

Console.WriteLine("mouse down")

}

但是,当我在表单上执行 mousedown 事件时,控制台上什么也没有。我知道在将事件注册到表单或类似的东西的地方缺少一些东西。有任何想法吗?

谢谢,

4

5 回答 5

4

在设计器视图中,选择表单,然后在属性窗口中,单击小闪电(事件)。

在这里,您可以选择为哪个事件调用哪个委托方法。如果您还没有创建方法,只需双击事件旁边的空白区域,它就会为您生成代码。

于 2012-05-22T21:37:57.617 回答
1

如果您使用的是 VS.net,那么您应该在属性面板中找到所有事件。只需选择您想要的。

如果您想以语法方式注册事件,则代码如下所示:

Form1.Click += new MouseEventHandler(Form1_MouseDown);

为了注销它

Form1.Click -= new MouseEventHandler(Form1_MouseDown);
于 2012-05-22T21:39:38.583 回答
1

事件需要从设计器或代码“连接”。您可以通过在属性窗口中双击事件来连接 Visual Studio 中的事件:

在此处输入图像描述

在自动生成的文件中生成如下代码.designer

theForm.MouseDown += new MouseEventHandler(Form1_MouseDown);

您还可以使用上述代码在您的Form_Load方法中手动连接事件。

于 2012-05-22T21:40:56.150 回答
0

使用 WinForms,您需要通过 Visual Studio 中的设计视图添加它。

在设计视图中,选择您的表单。然后,单击“属性”面板中的“事件”按钮(看起来像一个闪电)并在相应事件下输入函数名称。您还可以单击此处的事件以在代码隐藏中自动生成新函数。

如您所见,双击表单将自动在代码隐藏中生成某个函数。对于表单,它是 Load,但对于其他事情,它可能是 MouseDown 或其他一些事件。

于 2012-05-22T21:40:05.153 回答
0

根据您的解释,您似乎已经通过设计器正确注册了事件......如果您仍然没有在控制台上看到字符串,请尝试 System.Diagnostics.Debug.WriteLine (也许您正在查看错误的窗口)

于 2012-05-22T21:39:19.350 回答