Enterキーを押したときに次のセルをdatagridviewにフォーカスしたい。DataGridviewでTabの代わりにEnterを使用するWinform
だから私は、私はDataGridViewのクラスをオーバーライドするクラスを作成することができるに(here)が見つかりそうここにある:
using System.Diagnostics;
using System.Windows.Forms;
namespace PDP
{
class MyDatagridView : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Enter)
{
base.ProcessTabKey(Keys.Tab);
return true;
}
return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
base.ProcessTabKey(Keys.Tab);
return true;
}
return base.ProcessDataGridViewKey(e);
}
}
}
しかし、私は、「ENTER」キーを押すと、DataGridViewのは同じ動作とフォーカスを持っています現在のセルに留まる.. 私に何か不足していますか?
私は...、着信助けを
感謝をthisポストに解決を見たが、私は、キー入力を押したときにイベントが発生しません!イワンは私に尋ねたよう
は、私がこれをしなければならなかった、MyDatagridViewでのDataGridViewを置き換えるために逃した:
DataGridView datagridQa = new MyDatagridView();
申し訳ありませんが、あなたはあなたのフォームの '' MyDataGridView'でDataGridView'を交換したことを確認していますか? –
'ProcessDialogKey()'はまったく呼び出されていますか?もしそうであれば、 'base.ProcessTab()'ではなく 'base.ProcessDialogKey(Keys.Tab)'自身に転送することができます。私たちにとっては、 'ProcessDialogKey()'が呼ばれていますが、ここでフルキー処理を実装していますので、私はヒントがあなたを助けてくれるかどうかわかりません。 – Arvo
愚かな質問@IvanStoevをありがとう、私はMyDataGridViewによってDataGridViewを置き換えていない....私の悪い –