• ベストアンサー

【プログラミング】ショートカットキーの設定について

KeyPress イベントプロシージャの設定で Private Sub Button1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress If e.KeyChar(Keys.F) Then End If End Sub この中にボタン1の命令をさせたいとき、どのように書けばいいんでしょうか? Visual Basic 2010です コードを教えてください、お願いします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

Button1 上で F キー を押した場合に、Button1 のクリックイベント(Button1 をクリック)を 発生させたい。と言う事でしょうか? それなら、下記を試して見て下さい。 Private Sub Button1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress   '大文字と小文字が区別されますので、どちらの(f or F)キーにも対応   If e.KeyChar = Microsoft.VisualBasic.ChrW(70) Or e.KeyChar = Microsoft.VisualBasic.ChrW(102) Then     '貴方の仕様のとうりにするなら     Button1.PerformClick()  'Button1 をクリック     '本来なら上記の替りにここにカウントアップのコードを書く。     'count += 1     'Label1.Text = count.ToString   End If End Sub '質問内容は、誰にでも理解できるように5W1H を入れて書くなり、箇条書きにやりたい順に 詳しく書くようにして頂かないと他人には伝わりませんよ。

noname#161370
質問者

お礼

回答ありがとうございます。 このコードで考えていた動作をしました。 ありがとうございました。

その他の回答 (2)

回答No.2

>質問内容は、ボタンをクリックすると1ずつカウントアップしていく動作を、 >特定のキーを使い、同じ動作をさせたいだけなんですが Form に Button コントロールとLabel コントロールを貼り付け下記のコードを書いて 試して見て下さい。 Button1 をクリックする度に、Label1 に 1,2,3 カウントアップされた数字が表示されます。 Public Class Form1 Private count As Integer Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click   count += 1   Label1.Text = count.ToString End Sub End Class

noname#161370
質問者

お礼

回答ありがとうございます カウントアップのプログラムは完成しているので、その動作を、例えば、Ctrl + L でボタンをクリックしたのと同じ動作をさせたいので、そちらの回答をいただきたいです。 要望としましては、Ctrlキーを使わないもので、単純にFキーだけで動くものを考えております。

回答No.1

私が勘違いをしているのか? 貴方が勘違いをしているのか? 質問内容を総合して推測すると、Button1 に F のショートカットを作成したいように思えるのですが それなら、Button1 の TEXT プロパティ に あいうえお(&F) と書いて見て試して見て下さい Button1 の 表面が あいうえお(F) のように表示され(F の文字の下にはアンダーバーが表示) F の ショートカットキー で Button1 がクリックされます。

noname#161370
質問者

お礼

回答ありがとうございます 質問内容は、ボタンをクリックすると1ずつカウントアップしていく動作を、特定のキーを使い、同じ動作をさせたいだけなんですが、なにぶん、VBについてよく解っていませんので、コードについては、正しく書けていないと思います。 正しい書き方などありましたら、ご指導ください。

関連するQ&A