1

私は約25000行のデータの大規模なグリッドを持っています。【Windowsアプリ】

その中で、Enterキーを押すと新しいウィンドウを開くことができるなどの機能を実装しようとしています。その新しいウィンドウでは、テキスト ボックスとラベルに関して、Enter ボタンを押したレコードのデータを表示しています。残念ながら、そのための関連イベントは見つかりませんでした。Enterボタンを押すと、アクティブな選択された行が次のレコードに移動します。

また、デフォルトでウィンドウ[グリッド]をロードしたときに最初のレコードが選択されるようにする機能があるかどうかも知りたいです。

などのさまざまなイベントを試しました

 private void gvTradeFile_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            splitPopUp objSplit = new splitPopUp();
            objSplit.Show();
        }

動作しませんでした。

private void gvTradeFile_Enter(object sender, EventArgs e)
        {
            splitPopUp objSplit = new splitPopUp();
            objSplit.Show();
        }

これもうまくいきませんでした。

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/6a73013f-4440-4d45-a322-63c4cae1bb39/このリンクを参照しましたが、何も得られませんでした

この機能の実装に関連するアイデアはありますか?

4

1 に答える 1

3

KeyDownグリッドのイベントを処理する必要があります:

private void gvTradeFile_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        var row = dataGridView1.CurrentRow; // retreive the current row
        // show the form
        // ...
    }
}

Enterキーボード フォーカスがグリッドに入るRowEnterイベントが発生し、行が入力フォーカスを受け取るとイベントが発生します。これらのイベントはEnterキーとは関係ありません。

于 2013-03-09T06:02:43.723 に答える