ボタンの制御に関して

解決


SAHO  2012-06-07 23:29:56  No: 147638

開発環境:VB2008  Windows7

教えて下さい。

画面上にボタンを配置していますが、そのボタンを”ENTERキー”で押せるように
したいと考えています。

色々ホームページ等で検索した結果、

  'Enterキー押下で動作するボタンの設定
  Me.AcceptButton = Me.Button1

というものが見つかりましたが、この場合だと、ボタンにカーソルがない状態でも
エンターが押された時点でボタンを押したと同じ動きをしてしまいます。

なんとかTAB等でボタンまでカーソルを遷移させ、ボタンの上にカーソルが来た
状態ではじめてエンターでボタンを押せるような形にできないかと考えています。

良い方法がありました教えて下さい。

よろしくお願いします。


魔界の仮面弁士  2012-06-07 23:46:47  No: 147639

これでどうでしょう。

Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
  If (TypeOf ActiveControl Is Button) AndAlso (keyData = Keys.Enter) Then
    DirectCast(ActiveControl, Button).PerformClick()
    Return True
  Else
    Return MyBase.ProcessCmdKey(msg, keyData)
  End If
End Function


SAHO  2012-06-07 23:55:05  No: 147640

魔界の仮面弁士様、いつもご回答ありがとうございます。

すごいです!!  感動しました!!!

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加