WinForm 内に Gridview があります。編集するそのグリッドビューの列があります。セル編集をクリックして Enter キーを押すと、最後の行を除くすべてのセルの編集が完了します。変更する行が下にない場合、「Enter」キーは何もしません。_keyPress および _keyDown イベントを使用して、「Enter」キーをタブに変更しようとしました。これにより、ユーザーは通常どおり編集し、Enter キーを押して変更を送信できます。
誰かが何か意見があれば、私はそれを感謝します。
また、現在、セルを選択すると編集モードになり、セルが選択されなくなると、 endedit イベントを呼び出して変更を送信します。
EditingControlShowingEvent を追加しようとしましたが、以下のコードは、キーダウン イベントを呼び出すことを期待して、編集中のコントロールにイベントを割り当てようとしました。しかし、まだそうではありませんでした。
private void dg_EditingControlSHowing(object sender,DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyDown += new KeyEventHandler(Control_KeyDown);
}
private void Control_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyData == Keys.Enter)
{
this.ProcessTabKey(true);
}
}