2007年10月29日月曜日

DataGridViewでのEnterキー制御

業務アプリ作っていると必ずといっていいほど、話題になりやすいのがEnterキー制御。

昔からの習慣で、Enter押下で次の項目へカーソルを移動、というのが多いんだよね。それ自体は特に否定も肯定もしないけど。

ただ、その機能をDataGridViewに追加しようとする前に、ちょっとだけ考えてみて欲しい。
Enter押下→次のセル、だけでいいのかどうか?

画面によってはEnterで次コントロールというのがあるだろうし、下のセルへ移動させるのもあると思う。そのあたりを踏まえてどう拡張するかってのを考えて欲しい。そのあたりを踏まえていれば、あとあと「えー」なんて文句をいいたくなる事も減ると思うw

実際の対処なんて、大したことはないんだよね。
ProcessDialogKeyメソッド、ProcessDataGridViewKeyメソッド、ProcessRightKeyメソッドあたりを調べてもらえばわかると思うけど、このあたりで「Enterの際にはセル(またはコントロール)を移動する」というロジックにしてあげればOK。

ひっかかるとしたら、編集状態がからむとき。
EndEditメソッドを呼び出して、その結果OKなら移動してあげる、とかそういう制御は必要だろうね。

0 件のコメント:

コメントを投稿