■■■

2016年4月1日金曜日

DataGridViewのチェックボックスイベントを取得する方法

DataGridViewのチェックボックスイベントを取得する方法
VB.NET
Private Sub dgv1_CurrentCellDirtyStateChanged( _
ByVal sender As Object, ByVal e As EventArgs) _
Handles dgv1.CurrentCellDirtyStateChanged
If dgv1.CurrentCellAddress.X = 0 AndAlso _
dgv1.IsCurrentCellDirty Then
dgv1.CommitEdit(DataGridViewDataErrorContexts.Commit)
End If
End Sub


Private Sub dgv1_CellValueChanged(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles dgv1.CellValueChanged
If e.ColumnIndex = 0 Then
MessageBox.Show( _
String.Format("{0}行目チェックボックス変更「{1}」", _
e.RowIndex, dgv1(e.ColumnIndex, e.RowIndex).Value))
End If
End Sub
C#
private void dgv1_CurrentCellDirtyStateChanged(
object sender, EventArgs e)
{
if (dgv1.CurrentCellAddress.X == 0 &&
dgv1.IsCurrentCellDirty)
{
dgv1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}

private void dgv1_CellValueChanged(
object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0)
{
MessageBox.Show(
string.Format("{0}行目チェックボックス変更「{1}」",
e.RowIndex,
dgv1[e.ColumnIndex, e.RowIndex].Value));
}
}

■■■