VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
DataGridのHitTestメソッドを使用すると、指定座標位置の情報を取得することができます。サンプルでは指定座標位置にマウスの現在のポジションを渡すことで、クリックされた位置の情報を取得しています。
private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { System.Windows.Forms.DataGrid.HitTestInfo HT; // クリックされた位置を引数に渡す HT = dataGrid1.HitTest(e.X, e.Y); //クリックされた場所の情報を取得 switch (HT.Type) { case System.Windows.Forms.DataGrid.HitTestType.None: label1.Text = "バックグランドがクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.Cell: label1.Text = HT.Row.ToString() + "行," + HT.Column.ToString() + "列" + "のセルがクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader: label1.Text = "列ヘッダ" + HT.Column.ToString() + "がクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.RowHeader: label1.Text = "行ヘッダ" + HT.Row.ToString() + "がクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.ColumnResize: label1.Text = HT.Column.ToString() + "列の境界線がクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.RowResize: label1.Text = HT.Row.ToString() + "行の境界線がクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.Caption: label1.Text = "キャプションがクリックされました。"; break; case System.Windows.Forms.DataGrid.HitTestType.ParentRows: label1.Text = "親行セクションがクリックされました。"; break; } }