3

ContextMenuStrip実行時にそのストリップに 1 つ追加していますToolStripMenuItem。そして、この ContextMenuStrip を XtraGridView の MouseDown() イベント ハンドラーに追加しました。同時に、新しく挿入された ToolStripMenuItem のイベント ハンドラーを追加しました。そして、その ToolStripMenuItem のイベント ハンドラー関数を 1 つ作成しました。アプリケーションの問題は、ユーザーが XtraGridView を右クリックすると、実行時に追加した必要なメニューが表示されることです。そして、新しく追加された ToolStripMenuItem をクリックすると、必要なイベント ハンドラー関数が実行されますが、同じ手順を再度実行すると、イベント ハンドラー関数が 2 回実行されます。

誰でもこの問題を解決できますか?

ありがとう。

4

1 に答える 1

4

XtraGridView のクリック イベントで、おそらく Click イベントをサブスクライブしています。GridView のクリック イベントが発生するたびに、クリック イベント ハンドラーを再度サブスクライブする必要があるため、ユーザーが実際に ToolStripMenuItem をクリックすると、すべてのハンドラーが呼び出されます。

サブスクリプション コードを別の場所に移動することをお勧めします。

于 2011-05-05T09:48:26.663 に答える