UserControl单击事件速度较慢
本文关键字:速度 事件 单击 UserControl | 更新日期: 2023-09-27 18:24:56
我有我的UserControl,我附加了它的点击事件,这样我就可以设置它的边框样式。
public partial class TestControl : UserControl
{
public TestControl()
{
InitializeComponent();
this.Click += Item_Click;
IsSelected = false;
}
public bool IsSelected { get; set; }
void Item_Click(object sender, EventArgs e)
{
if (!IsSelected)
{
IsSelected = true;
this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
}
else
{
IsSelected = false;
this.BorderStyle = System.Windows.Forms.BorderStyle.None;
}
}
}
当我点击UserControl
时,我会得到它的边框样式被指定或删除。。。这很好用。但是,如果我尝试更快地点击,当我点击UserControl时,它不会做出响应。
如果我点击一次,然后等待再点击,效果很好,但我想增加点击响应时间,就像它是一个按钮一样。
你知道我怎么会有这种行为吗?
如果单击速度非常快,则会得到双击事件。请尝试使用MouseDown事件。
但由于这是UserControl的基本事件,您可以重写该方法,而不是附加一个事件处理程序:
protected override void OnMouseDown(MouseEventArgs e) {
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left) {
// your code here...
}
}