0

私は Windows フォーム アプリケーションを使用しており、ユーザーが特定のアクションを実行したときに「付箋」タイプのものを表示できるようにしたいと考えています。

例: ユーザーは、コントロールを自動的に非表示にする何かを行います。

私のアプリケーションは: o 何が起こったかを説明する付箋をポップアップ表示します。o ユーザーがフォームの任意の場所をクリックすると、付箋を再び非表示にします。

ポストイット ノートをラベル付きの単純なパネルとして実装しました。これは、特定のことが発生したときに表示および非表示になります。

ただし、親 UserControl の OnClick イベントをキャプチャできないようです。親コントロールはネストされたコントロールであり、分割コンテナーを含み、その片側にはパネルとタブ コントロールが含まれ、それぞれにさまざまなものを含むユーザー コントロールが含まれます。

すべての子コントロールのクリック イベントを処理する以外に、ユーザーが親コントロールのどこかをクリックしたときにポストイット ノートを非表示にするために使用できる、親コントロールでキャプチャできるイベントを考えられる人はいますか?

ありがとう、リク

4

2 に答える 2

5

それが Capture プロパティの目的です。メモをポップアップするときにtrueに設定します。マウスがウィンドウの外に移動した場合でも、すべてのマウス イベントがコントロールに送信されるようになりました。これは、たとえば、コンボボックスのドロップダウン リストが機能する方法でもあります。ワンクリックでしか効果がないことに注意してください。

ポップアップにコントロール自体が含まれている場合、マウス キャプチャは解決策ではありません。代わりに所有フォームにして、Deactivate イベントのイベント ハンドラーで Close() を呼び出すだけです。

于 2012-04-20T11:00:51.717 に答える
-1

子イベントをクリックすると、子イベントが発生し、次に親イベントが発生します。「handleEvnet」プロパティを true に指定しない限り。したがって、イベントが親に到達するまで、false のままにしておきます。

于 2012-04-20T09:57:41.387 に答える