7

の空の領域をクリックしたときに、データバインドされたコレクションに新しい要素を入力するようにユーザーに促したいDataGridView。ユーザーが/ /DataGridViewではなく (デフォルトでは灰色の領域)内をクリックしたかどうかを確認するにはどうすればよいですか?ColumnRowCell

4

2 に答える 2

10

イベントを使用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
    }
}
于 2013-08-01T13:49:33.947 に答える
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
        }
    }
}
于 2013-08-01T13:50:15.233 に答える