DataGridView.CurrentCell
プロパティがそうでなくnull
ても、null
そのプロパティに値を持つことは可能RowIndex
ですか? もしそうなら、どうすればこれを防ぐことができますか?
追加情報: この値は、現在選択されている行のインデックスをクラス フィールドに格納しておくSelectionChanged
ために、イベントでチェックされます。DataGridView
コードは次のとおりです。
private void dgTraffic_SelectionChanged(object sender, EventArgs e)
{
try
{
if (dgReport.CurrentCell != null)
actualRow = dgReport.CurrentCell.RowIndex;
}
catch (NullReferenceException ex)
{
#if DEBUG
MessageBox.Show("Error on dgTraffic_SelectionChanged:\n" + ex.Message);
#endif
}
}
どういうわけか、RowIndex プロパティを参照する行で未処理の NullReferenceException を取得したので、try-catch を追加しましたが、それがどのように発生するのかわかりません。ちなみに、メソッド名は「dgTraffic」で、メソッドの本体で使用されているオブジェクトはdgReportです。実際にはそのように設定されています。これは、dgReport の SelectionChanged イベントに使用されているメソッドです。