0

アプリケーションを正しく動作させるのに問題があります。マウスでデータグリッドビューの行を選択しようとしています。選択した行をナビゲートできるように、この行のインデックスを保存する必要があります。

私は DataGridView.CellMouseClick Event ( Link ) を見てきましたが、イベントハンドラーが CellMouseClick イベントに関連付けられていることを確認できません。

これまでの私のコードは単純です。マウスのクリックを検出するかどうかを確認しようとしています。

    public event DataGridViewCellMouseEventHandler CellMouseClick;

    private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
    {
        MessageBox.Show("Mouse clicked in the datagridview!");
    }

誰でも私が間違っている可能性があることを指摘できますか。どんな助けでも素晴らしいでしょう!

4

1 に答える 1

5

イベントを「接続」 する必要があります。

DataGridView が DataGridView1 と呼ばれる場合、フォームのコンストラクター、デザイナー (デザイナーを介してイベント ハンドラーを追加する場合)、または Load イベントに次のコード行が必要です。

DataGridView1.CellMouseClick += DataGridView1_CellMouseClick;

これにより、コード内のイベント ハンドラーがイベントにアタッチされます。

現在のサンプルは次のようになります。

    public event DataGridViewCellMouseEventHandler CellMouseClick;

    private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
    {
        MessageBox.Show("Mouse clicked in the datagridview!");
    }

public event DataGridViewCellMouseEventHandler CellMouseClick;DataGridView をホストする独自のユーザー コントロールを構築していて、そのイベントを効果的に "ラップ" または "再ブロードキャスト" する場合を除き、イベント ( ) を再宣言する必要はありません。

于 2012-06-25T10:11:55.177 に答える