我想提示用户在点击DataGridView
的空白区域时将新元素输入到数据绑定集合中。如何确定用户是否已点击DataGridView
(默认情况下为灰色区域),而不是Column
/ Row
/ Cell
?
答案 0 :(得分:9)
您可以使用MouseClick
事件并对其进行点击测试。
private void dgv_MouseClick(object sender, MouseEventArgs e)
{
var ht = dgv.HitTest(e.X, e.Y);
if (ht.Type == DataGridViewHitTestType.None)
{
//clicked on grey area
}
}
答案 1 :(得分:2)
要确定用户何时单击DataGridView的空白部分,您将不得不处理其MouseUp event
。
在这种情况下,您可以HitTest点击该位置并注意这一点以指示HitTestInfo.Nowhere
。
例如:
private void myDataGridView_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
//'#See if the left mouse button was clicked
if (e.Button == MouseButtons.Left) {
//'#Check the HitTest information for this click location
if (myDataGridView.HitTest(e.X, e.Y) == HitTestInfo.Nowhere) {
// Do what you want
}
}
}