作成日: 2019/01/30 最終更新日: 2020/12/17
文書種別
使用方法
詳細
クリックしたセルの行番号・列番号を取得するために、以下のような方法が考えられます。
(1)MouseRow・MouseColプロパティを使用する方法
MouseRow・MouseColプロパティでマウスが置かれている行や列を取得できるため、MouseDownイベント等でこれらを参照することで、クリックしたセル位置を取得することが可能です。
※ダブルクリックしたセル位置の場合も同様です。
Private Sub C1FlexGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1FlexGrid1.MouseDown
MessageBox.Show("クリックされたセル" & vbCrLf & "行:" & C1FlexGrid1.MouseRow & vbCrLf & "列:" & C1FlexGrid1.MouseCol)
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_MouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show("クリックされたセル¥n" + "行:" + c1FlexGrid1.MouseRow + "¥n" + "列:" + c1FlexGrid1.MouseCol);
}
(2)HitTestメソッドを使用する方法
MouseClickイベントでC1FlexGridのHitTestメソッドを使用することで、クリックしたセルの行の値、列の番号を取得する事ができます。
◎サンプルコード(VB)
Private Sub C1FlexGrid1_MouseClick(sender As Object, e As MouseEventArgs) Handles C1FlexGrid1.MouseClick
Dim row As Integer = C1FlexGrid1.HitTest(e.X, e.Y).Row
Dim col As Integer = C1FlexGrid1.HitTest(e.X, e.Y).Column
System.Diagnostics.Debug.WriteLine("Row={0}, Col={1}", row, col)
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_MouseClick(object sender, MouseEventArgs e)
{
int row = c1FlexGrid1.HitTest(e.X, e.Y).Row;
int col = c1FlexGrid1.HitTest(e.X, e.Y).Column;
System.Diagnostics.Debug.WriteLine("Row={0}, Col={1}", row, col);
}
関連情報
旧文書番号
83597