如何以及在哪里可以在表单上注册鼠标事件。当我双击表单时,它会为我生成 Form_Load 事件,我可以在其中添加代码。但是,当我添加类似
private void Form1_MouseDown(object sender, MouseEventArgs e{
Console.WriteLine("mouse down")
}
但是,当我在表单上执行 mousedown 事件时,控制台上什么也没有。我知道在将事件注册到表单或类似的东西的地方缺少一些东西。有任何想法吗?
谢谢,
如何以及在哪里可以在表单上注册鼠标事件。当我双击表单时,它会为我生成 Form_Load 事件,我可以在其中添加代码。但是,当我添加类似
private void Form1_MouseDown(object sender, MouseEventArgs e{
Console.WriteLine("mouse down")
}
但是,当我在表单上执行 mousedown 事件时,控制台上什么也没有。我知道在将事件注册到表单或类似的东西的地方缺少一些东西。有任何想法吗?
谢谢,
在设计器视图中,选择表单,然后在属性窗口中,单击小闪电(事件)。
在这里,您可以选择为哪个事件调用哪个委托方法。如果您还没有创建方法,只需双击事件旁边的空白区域,它就会为您生成代码。
如果您使用的是 VS.net,那么您应该在属性面板中找到所有事件。只需选择您想要的。
如果您想以语法方式注册事件,则代码如下所示:
Form1.Click += new MouseEventHandler(Form1_MouseDown);
为了注销它
Form1.Click -= new MouseEventHandler(Form1_MouseDown);
事件需要从设计器或代码“连接”。您可以通过在属性窗口中双击事件来连接 Visual Studio 中的事件:
在自动生成的文件中生成如下代码.designer
:
theForm.MouseDown += new MouseEventHandler(Form1_MouseDown);
您还可以使用上述代码在您的Form_Load
方法中手动连接事件。
使用 WinForms,您需要通过 Visual Studio 中的设计视图添加它。
在设计视图中,选择您的表单。然后,单击“属性”面板中的“事件”按钮(看起来像一个闪电)并在相应事件下输入函数名称。您还可以单击此处的事件以在代码隐藏中自动生成新函数。
如您所见,双击表单将自动在代码隐藏中生成某个函数。对于表单,它是 Load,但对于其他事情,它可能是 MouseDown 或其他一些事件。
根据您的解释,您似乎已经通过设计器正确注册了事件......如果您仍然没有在控制台上看到字符串,请尝试 System.Diagnostics.Debug.WriteLine (也许您正在查看错误的窗口)