如何在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) {
}
}