|
分類:[VB.NET/VB2005 以降]
VS2008-VB いつもお世話になっております。
WindowOSやあらゆるアプリケーションに当たり前のように備わっている F5キー押下でフォーム(最新情報)に更新する機能を実現したいと考えております。
Private Sub Form_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = Keys.F5 Then MsgBox("F5が押下されました。") '更新処理PG End If End Sub
そこで疑問なのですが、上記のPGで事足りるものだと考えていたのですが、Meにフォーカスがないとイベントは発生しません。 さらにFormにフォーカスを取得できるいずれかのコントロールが配置してあると、フォーム自身にフォーカスを取得することができません。 で、こんな時いちいち全てのコントロールのKeyDown時に上記PGを設置するのはどうかと思い悩んでおります。
また単純に Private Sub Form_KeyDown(...........) Handles MyBase.KeyDown, TextBox.KeyDown, Button.KeyDown ....... のように記述するのも手かと思ったのですが、やはり違和感があります。
こんなケースの場合、どうすればよいのでしょうか? よろしくお願いします。
|