質問

コードを非常に複雑にすることなく、winformアプリケーションでユーザークリックをキャプチャする方法は? AOPは答えですか?インスツルメンテーションを追跡する方法

役に立ちましたか?

解決

これは実際の要件にかなり依存します。

simple / sample / prototype winformsアプリの場合、基本的な WinFormsイベントハンドラ、ハンドラメソッドにコード(重すぎないことを条件とする)。コードが重く、ハードなビジネスルールが含まれていて、フォームと対話しない場合は、そのコードを別のクラスに移動し、イベントハンドラーから呼び出すのが最善です。

アスペクト指向プログラミングはこれをさらに進めます。一般的には、大規模なプロジェクトに最適です。フォーム要素にはイベントハンドラーが必要です(コントロールベースのイベントハンドラーに固執することをお勧めします-独自のグローバルイベント処理機能を作成しないでください)が、コマンドオブジェクトを呼び出す必要があります( GangOfFourのコマンドパターン)。これらのコマンドオブジェクトは、アプリケーションのどこからでも呼び出すことができます。インストルメンテーションが必要な場合は、WinFormsイベントではなく、それらのCommandオブジェクトにインストルメンテーションを配置する必要があります。 Inversion of Control コンテナーを活用できます。 org / container / index.html "rel =" noreferrer "> Castle Windsor は、インターセプターパターン David Haydenの例

他のヒント

winformsでクリックをキャプチャする一般的な方法は、 Control.MouseClick Control.MouseDown および Control.MouseUp より詳細な情報が必要な場合。

やろうとしていることの詳細を提供していただければ、より的を絞った答えを見つけることができるでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top