DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォーム での KeyDownイベント

環境/言語:[C# NET Framework 1.1]
分類:[.NET]

いつも参考にさせていただいて ありがとうございます。

過去ログにもあったのですが、
KeyDownイベントをすべてフォームで獲得する場合、
ボタンをクリックすると、矢印キーやエンターキーが獲得できなくなります。
protected override を使えばよいということですが、
具体的に使い方がわかりません。
どなたかご存知の方がいらっしゃいましたら、ご教授ください。
よろしくお願いいたします。
overrideは親クラスでvirtualというキーワードをつけて宣言されているメソッドやプロパティを新たに定義しなおすことを意味します。
たとえばForm.WndProcメソッドは
protected virtual void WndProc(ref Message m)
と宣言されているので、Formの派生クラスで

protected override void WndProc(ref Message m)
{
// ここに独自の処理を記述します

// 親クラスのWndProcを呼び出します
base.WndProc (ref m);
}

とすることで独自にWndProcの処理を変更することができます。

ms-help://MS.NETFrameworkSDKv1.1.JA/csref/html/vclrfVirtualPG.htm
> overrideは親クラスでvirtualというキーワードをつけて宣言されているメソッドやプロパティを新たに定義しなおすことを意味します。

レスありがとうございます。
クラスという概念が理解できてませんでした。
習得すると便利そうですが、少し勉強が必要なようです。

結局、ボタンにフォーカスが移るとそちらが優先されるようで、
ボタンのイベントの最後に、テキストボックスにフォーカスを移動するようにし、
そのテキストボックスの上にピクチャーをかぶせて見えなくしたら、
矢印キーを獲得することが出来ました。
原始的な方法です・・・。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板