をNewRow選択した場合でもfalseを返すために来るときに思えます新しい行が選択された場合、DataGridView
はそのOnValidating
メソッドの現在の行を変更します。したがって、新しい行を選択したときにButton
をクリックすると、その行は選択されたままですが、現在の行は前の行に変更されます。
ので、代わりのあなたは
Button
の
Click
場合には、このチェックを行いたい場合は、現在の行をチェックするには、それが
SelectedRows
ためのより良いチェックです:
C#
if (dataGridView1.SelectedRows.Count == 1 &&
dataGridView1.SelectedRows[0].Index == dataGridView1.NewRowIndex)
MessageBox.Show("New Row Selected");
VB.NET
If (DataGridView1.SelectedRows.Count = 1 AndAlso _
DataGridView1.SelectedRows(0).Index = DataGridView1.NewRowIndex) Then
MessageBox.Show("New Row Selected")
End If
注:問題のあなたの提供されたコードは、コントロールがfocudedされるまで動作します。
どこでこのコードを使用していますか、どのようにしてそれが必要なのですか? –
@TimSchmelterこれはボタンクリックイベントです。 2番目のステートメントは、newRowを選択しても常にfalseを返します。 –
元の投稿は 'VB.NET'だけでタグ付けされていましたが、私が投稿した回答はC#であり、@ JimmyJimmに受け入れられたので、C#タグも質問に追加しました。 –