C# UserControl单击事件很慢

C# UserControl单击事件很慢,c#,winforms,user-controls,C#,Winforms,User Controls,我有我的UserControl,我附加了它的click事件,所以我可以设置它的边框样式 public partial class TestControl : UserControl { public TestControl() { InitializeComponent(); this.Click += Item_Click; IsSelected = false; } public bool IsSelected

我有我的UserControl,我附加了它的click事件,所以我可以设置它的边框样式

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...
  }
}

如果你点击速度很快,你会得到一个双击事件。尝试改用MouseDown事件

但由于这是UserControl的基本事件,因此您只需重写该方法,而无需附加事件处理程序:

protected override void OnMouseDown(MouseEventArgs e) {
  base.OnMouseDown(e);

  if (e.Button == MouseButtons.Left) {
    // your code here...
  }
}

如果你点击速度很快,你会得到一个双击事件。尝试改用MouseDown事件

但由于这是UserControl的基本事件,因此您只需重写该方法,而无需附加事件处理程序:

protected override void OnMouseDown(MouseEventArgs e) {
  base.OnMouseDown(e);

  if (e.Button == MouseButtons.Left) {
    // your code here...
  }
}

如果你点击速度很快,你会得到一个双击事件。尝试改用MouseDown事件

但由于这是UserControl的基本事件,因此您只需重写该方法,而无需附加事件处理程序:

protected override void OnMouseDown(MouseEventArgs e) {
  base.OnMouseDown(e);

  if (e.Button == MouseButtons.Left) {
    // your code here...
  }
}

如果你点击速度很快,你会得到一个双击事件。尝试改用MouseDown事件。动态定义此控件?嗯,你说得对:)让我试试它是否有效!!你想发布答案吗?如果你点击得很快,你会得到一个双击事件。尝试改用MouseDown事件。动态定义此控件?嗯,你说得对:)让我试试它是否有效!!你想发布答案吗?如果你点击得很快,你会得到一个双击事件。尝试改用MouseDown事件。动态定义此控件?嗯,你说得对:)让我试试它是否有效!!你想发布答案吗?如果你点击得很快,你会得到一个双击事件。尝试改用MouseDown事件。动态定义此控件?嗯,你说得对:)让我试试它是否有效!!你想把答案贴出来吗?