gpt4 book ai didi

c# - MouseClick on Panel 跳过点击

转载 作者:行者123 更新时间:2023-11-30 22:11:20 25 4
gpt4 key购买 nike

我在窗体上有一个带有 MouseClick 事件的面板。问题是每次单击面板时都不会触发 MouseClick 事件。它跳过点击时非常随机。

我想我可以改用 MouseDown 和 MouseUp 事件,但我想知道为什么会这样......(我在使用“Click”事件时遇到同样的问题)

我已经在我的项目之外用一个非常简单的测试项目对此进行了测试,它仍在这样做:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

var panel = new Panel
{
Location = new Point(10, 10),
Size = new Size(200, 200),
BackColor = Color.Red
};
panel.MouseClick += panel_MouseClick;
//panel.Click += panel_Click; --Also skips clicks.

this.Controls.Add(panel);
}

void panel_MouseClick(object sender, MouseEventArgs e)
{
Console.WriteLine("Click");
}
}

最佳答案

Panel 类已启用 ControlStyles.StandardDoubleClick。因此,您很可能会生成 MouseDoubleClick 事件,但您没有看到它们,因为您没有订阅该事件。

除了关闭样式标志和订阅该事件之外,还有多种解决方法,例如,MouseDown 事件是一种替代方法。关闭样式需要仅使用调用 SetStyle() 的构造函数从 Panel 派生您自己的类。

关于c# - MouseClick on Panel 跳过点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20276463/

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