0

次の状況があります (簡略化): WinForms フォームに GroupBox があります。その内部にはいくつかの UserControl_A オブジェクトがあり、それぞれにいくつかの UserControl_B オブジェクトが含まれています (もちろん、両方とも UserControl から派生しています)。

UserControl_A/B オブジェクトまたは GroupBox バックグラウンド自体に関係なく、右クリックごとに正常に動作する GroupBox 用の ContextMenuStrip があります。

しかし、左クリックも処理する必要があります。GroupBox の Click および MouseClick イベントの処理は機能していますが、バックグラウンドでのみです。ポインタが UserControl_A または UserControl_B オブジェクト内にあるとすぐに、何も起こりません。両方の UserControl クラスの Click イベントと MouseClick イベントを処理しようとしましたが、ハンドラがまったく呼び出されません。

ここで何がうまくいかないのかヒントはありますか?または、そのようなイベント処理の問題をどのようにデバッグできますか?

よろしくお願いします、ステファン

追加: 状況を調査するために、完全に新しい簡素化されたプロジェクトを作成しましたが、すべて正常に動作します。では、実際のプロジェクトで何が問題になっているのかをどのように検出できますか?

4

2 に答える 2

0

Mouse イベントを UserControl_A に配置します (クラスは Control を継承していると思います) マウス (上、下など) がその (UserControl) にあるときにイベントがトリガーされます (あなたの GroupBox ) イベントがグループボックス

于 2013-01-08T06:10:57.787 に答える
0

UserControlsas child コントロールをGroupBox次の場所に追加する必要があります。

groupBox.Controls.Add(yourUserControl); // correct way

このタイプでは、親コントロール (GroupBox) のすべての子に対して右クリックが機能します。

form.Controls.Add(groupBox);
form.Controls.Add(yourUserControl); // wrong way
于 2013-01-05T12:34:29.380 に答える