すべて、
WinFormsアプリケーションにDataGridViewコントロールがあり、selectionプロパティが "Entire Row"であり、複数選択はありません。また、SelectionChangedデリゲートをアタッチします。ここで、現在選択されている行を取得する必要があります。
private void order_SelectionChanged(object sender, EventArgs e)
{
ordersItemIndex = order.SelectedRows[0].Index;
}
問題は、プログラムの起動時に選択がまったく行われないはずであり、後でユーザーだけがマウスまたはキーボードで選択を変更できることです。したがって、Form_Load()イベントには、次のものがあります。
order.ClearSelection();
ただし、このコードパスは、プログラムの起動時に例外をスローします。
追加の変数なしで、「フォームをロードしています。デリゲートを呼び出さないでください」とプログラムに伝える良い方法はありますか?
ありがとうございました。