|
分類:[.NET 全般]
タイトル通りなのですが、ご教授頂けませんか? とりあえずこんなソースを書いてみたのですが・・・
public class MyButton : System.Windows.Forms.Button { private const int WM_SETFOCUS = 0x0007;
protected override bool ShowFocusCues { get { return false; } }
protected override void WndProc(ref Message m) { switch (m.Msg) { case WM_SETFOCUS: m.Result = (IntPtr)0; return; }
base.WndProc(ref m); }
}
やりたい事は標準の電卓のように、 通常のキーボードのキーでも反応もするし、 クリックでボタンを押しても反応するように したいのです。 一度でもクリックしてしまうと、ボタンが フォーカスを持ってしまい、 それ以降はPreview_KeyDownイベントが実行 されなくなってしまいます。 WndProcのメッセージの処理を どのように追記すれば良いのでしょうか? 宜しくお願い致します。
環境はVS2008/.net2.0です。
|