5

セルにデータを入力した後、次の行に移動するのではなく、datagridviewカーソルを次の列に右に移動したいのですが。

dataGridView1_KeyDownイベントを介してキーをキャプチャすることでカーソルを制御しようとしましたが、セルにデータを入力した後、カーソルが次の行に移動するのを妨げません...

よろしくお願いします。

乾杯、

4

1 に答える 1

6

Mark Rideout (DatagridView Program Manager) からの回答は次のとおりです。

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=157055&SiteID=1

4 つの投稿を下にスクロールします (スレッドの後半でより良いバージョンが作成されるため、さらに多くの投稿が表示されます)。

リンクの有効期限が切れた場合の今後の参照用 ( Mark Rideout のすべてのクレジット):

DataGridView から継承する dvg という名前の新しいクラスを作成します。プロジェクトをコンパイルし、通常の代わりにこの拡張された Datagridview-control を使用すると、Enter キーを押したときに次のセルを選択する datagridview が作成されます。

public class dgv : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
    Keys key = (keyData & Keys.KeyCode);
    if (key == Keys.Enter)
    {
        return this.ProcessRightKey(keyData);
    }
    return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        return this.ProcessRightKey(e.KeyData);
    }
    return base.ProcessDataGridViewKey(e);
}

}

于 2008-12-02T03:16:36.130 に答える