2013-10-19

C#: IMessageFilterでボタン押下を無効化

すでにClickイベントハンドラが設定されている複数のボタン(フォームも複数)である条件のときはボタンの動作をさせないようにする必要があったのですが、既存のイベントハンドラを外部から一時的にブロックするうまい方法が思いつかなかったのでWindowメッセージをフィルタする方法で処理を作ってみました(下記のような感じです)。

結局別の方法を取ったのでこの方法は使わなかったのですが、手っ取り早くボタン押下処理を無効化させるにはいいかもしれません。