DataGridView
有两个看起来相似的事件处理程序:CellDoubleClick
和CellMouseDoubleClick
. 这些有什么区别?
问问题
5235 次
3 回答
2
CellDoubleClick 和 CellClick 是从鼠标左键触发的事件,以及来自选项卡和空格键等的“点击”。
MouseDoubleClick 和 MouseClick 来自任何按钮的鼠标点击。
于 2013-08-21T17:08:24.783 回答
0
CellDoubleClick 事件接收有关鼠标的更多信息。如果事件处理程序需要鼠标位置等信息,请使用 CellMouseDoubleClick 事件。
请参阅:http: //msdn.microsoft.com/de-de/library/system.windows.forms.datagridview.celldoubleclick.aspx
http://msdn.microsoft.com/de-de/library/system.windows.forms.datagridview.cellmousedoubleclick.aspx
CellMouseDoubleClick-Event 接收 Click-Count、Location(Point,X,Y)、MouseButton 等
于 2013-08-21T16:59:28.057 回答
0
tl;dr CellDoubleClick 在双击任何鼠标按钮时触发。CellMouseDoubleClick 仅在双击 LEFT 按钮时触发。
// Fires EVERY time ANY mouse button moves down
private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
Console.WriteLine("MouseDown Event: " + e.Button + " button." );
}
// Fires when the LEFT mouse button is double clicked
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Console.WriteLine(" CellDoubleClick: LEFT Button was double clicked");
}
// Fires when ANY mouse button is double clicked
private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
Console.WriteLine(" CellMouseDoubleClick Event: SOME Button was double clicked");
}
结果是:
// MouseDown Event: Left button.
// MouseDown Event: Left button.
// CellDoubleClick: LEFT Button was double clicked
// CellMouseDoubleClick Event: SOME Button was double clicked
//
//
// MouseDown Event: Middle button.
// MouseDown Event: Middle button.
// CellMouseDoubleClick Event: SOME Button was double clicked
//
//
// MouseDown Event: Right button.
// MouseDown Event: Right button.
// CellMouseDoubleClick Event: SOME Button was double clicked
于 2016-06-30T21:15:00.417 回答