gpt4 book ai didi

c# - 在使用 C# 的 Windows 窗体应用程序中正确使用 OnClick 与 MouseClick 事件

转载 作者:太空狗 更新时间:2023-10-29 22:15:25 25 4
gpt4 key购买 nike

我目前正在开发自定义控件,发现我的代码被运行了两次。这并不是一个大问题(它只是一个 Focus 方法调用)。但是,我想了解一下。

来自阅读MSDN description for click | onclick event ,它指出:

Fires when the user clicks the left mouse button on the object.

所以我添加了 OnClick 事件和 MouseClick 事件来处理左击和右击。但是在调试代码后我发现 OnClick 处理左击和右击事件。

为什么 OnClick 会处理这两个事件,我是否需要将这两个事件都保留在我的代码中,因为某些我忽略的原因?

protected override void OnClick(EventArgs e)
{

this.Focus();
base.OnClick(e);
}

private void CustomControl_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
rightClickMenu(e);
}
}

最佳答案

According to MSDN , Click 事件不仅在单击鼠标时调用,而且在按下 Enter 按钮时调用。如果您只需要处理鼠标点击,我会将您的所有代码移到 MouseClick 事件中。您不能以相反的方式执行此操作,因为 Click 事件不会告诉您单击了哪个鼠标按钮(如果有)。

关于c# - 在使用 C# 的 Windows 窗体应用程序中正确使用 OnClick 与 MouseClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com