在窗体上注册MouseDown和MouseMove

时间:2012-05-22 21:34:15

标签: c#

我如何以及在何处注册表单上的鼠标事件。当我双击表单时,它将为我生成Form_Load事件,我可以在那里添加代码。但是当我添加像

这样的东西时
private void Form1_MouseDown(object sender, MouseEventArgs e{

Console.WriteLine("mouse down")

}

然而,当我在表单上执行mousedown事件时,我在控制台上没有任何内容。我知道在将事件注册到表单或某种类型的地方时缺少某些东西。有什么想法吗?

谢谢,

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

如果您想以语法方式注册一个事件,那么代码将如下所示:

Form1.Click += new MouseEventHandler(Form1_MouseDown);

以取消注册

Form1.Click -= new MouseEventHandler(Form1_MouseDown);

答案 2 :(得分:1)

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

enter image description here

在自动生成的.designer文件中生成code like the following

theForm.MouseDown += new MouseEventHandler(Form1_MouseDown);

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

正如您所注意到的,双击表单将自动在代码隐藏中生成某个功能。对于表单,它是Load,但对于其他东西,它可能是MouseDown或其他一些事件。