1

フォームにラベルを動的に追加してから、ContextMenuStrip コントロールを動的に追加しています。それらを接続するために label.ContextMenuStrip プロパティを使用するか、右クリックに応答してコンテキスト メニューを表示するように手動でイベント ハンドラーをラベルに追加するかに関係なく、奇妙な動作が発生します。

1) メニューはマウス ポインタの横に表示されず、下および右にオフセットされます。フォームではなく、親コントロール (画像コントロール) のラベルの位置に関連しているようです。

2) メニュー以外をクリックしてもメニューが消えません。

私がここで見逃しているアイデアはありますか?

ありがとう、アンディ

4

1 に答える 1

1

私はそれを解決しました。まず、コントロールをラベル コントロール コレクションに追加し、それをフォーム コレクションに変更して、配置の問題を修正しました。メニューが閉じない理由がわかりませんでした。

最終的に、メニューの静的インスタンスをフォームに追加して再構築し、label.ContextMenuStrip プロパティをその静的インスタンスに接続しました。そのアプローチですべてがうまくいきます。

ラベル コントロールのタグを使用して、クリック イベント ハンドラーにそれを識別させました。

于 2009-02-10T14:42:26.880 に答える