2009-07-13 10 views
0

CellValueChangedのイベントハンドラでは、特定の条件に対して、フォーカスをセル内に残してコンテンツをクリアします。何が起こっているのかは、ハンドラが作業を終えたときにフォーカス(カーソル)が次のセルにあることです。イベントを引き起こしたのは同じセル内にある必要があります。CellValueChangedハンドラ(.NET)内のDataGridView内の同じセルにフォーカスを置くことができません

MyGrid.CellValueChanged -= new DataGridViewCellEventHandler(CellValueChanged); 
if (condition) 
{ 
MyGrid.Rows[e.RowIndex].Cells["ColumnName"].Value = ""; 
MyGrid.CurrentCell = MyGrid["ColumnName", e.RowIndex]; 
MyGrid.BeginEdit(true); 
return; 
} 

....

答えて

0

は、私はあなたがCellValidatingイベントの代わりに値変更イベントを探していると思います。この条件付きコードをこのイベントに入れ、その条件が失敗した場合は、e.Cancel = trueにして、同じセルにフォーカスを維持します。

関連する問題