在if-else条件的上下文中双击注册



如何在if/else语句的上下文中拾取双击事件?

    private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            ///
        }
        else if () { // if double click condition goes here
        }
    }

改为使用MouseDoubleClick事件:

private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
    }
    else
    {
        // Right button was not double-clicked
    }
}

else if永远无法捕获DoubleClick,您必须处理DataGridView.DoubleClick而不是MouseClick:

private void dataGridView1_DoubleClick(object sender, EventArgs e){
  //handle here...
}
//Code to register the DoubleClick event:
dataGridView1.DoubleClick += dataGridView1_DoubleClick;

你可以像一样

    private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right && e.Clicks == 2)
        {
            // it is double click
        }
    }

使用datagridview双击事件代替

private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
}

如果你需要在鼠标点击事件中检查双击,那么你可以创建一个全局bool变量,并在双击事件中设置为true

bool _Double = false;
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
    _Double = true;
}
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        ///
    }
    else if (_Double) {
    }
}

最新更新