• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.net 2010 DataGrigView)

DataGridViewでの入力処理においてセルのフォーカスの設定が正常に行われない現象の解決方法

このQ&Aのポイント
  • VBで使用するDataGridViewを利用して表の入力処理をする際、セルの値が数字でない場合にエラー表示を行い、フォーカスをエラーセルに戻そうとしています。しかし、エラーが発生しない場合と同じように次の行にフォーカスが移ってしまいます。エラー時にRowとColumnのアドレスを保存し、ボタンをクリックするとその場所にセルのフォーカスを当てることで解決する方法があります。
  • DataGridViewでは同一処理内でのフォーカスの設定ができないため、エラー発生時にはRowとColumnのアドレスを保存し、ボタンをクリックするとその位置にセルのフォーカスを当てる必要があります。
  • 以下は、CellEndEditイベントハンドラとボタンクリックイベントハンドラのコードです。CellEndEditイベントでエラーが発生した場合、iRowとiColにRowとColumnのアドレスを保存し、lblRowとlblColに表示します。その後、ボタンをクリックすると、保存したアドレスを使ってセルのフォーカスを当てることができます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#212058
noname#212058
回答No.1

DataGrigView のセル入力チェック処理は CellEndEdit ではなく CellValidating を 使用するのが普通です。 以下にサンプルがあるので参考にしてください。 http://dobon.net/vb/dotnet/datagridview/cellvalidating.html

TinyPine
質問者

お礼

早速のご回答ありがとうございます。 今、チェックした所、フォーカスが元に戻っていました。 こちらの方法で実装し直してみます。 ありがとうございました。

関連するQ&A