- 題名: フォームのファンクションキー押下について
- 日時: 2010/11/15 18:17:24
- ID: 27567
- この記事の返信元:
- (なし)
- この記事への返信:
- [27571] Re[1]: フォームのファンクションキー押下について2010/11/15 20:58:30
- ツリーを表示
■No27567に返信(AN2546さんの記事) > (1)現在 ボタン(CMD_F5)をマウスでクリック --> 処理実行 > ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ > (2)キーボードのF5を押す --> 処理実行 Form の KeyDown イベントで引数 e を見て、押されたのが「F5」だったら、 「CMD_F5 ボタンの PerformClick メソッドを呼び出す」か、 「ボタン押下時に行われていた処理を呼び出す」ようにしてみてください。 たとえば、こんな感じのコードで。 '--- VB --- Private Sub Foo() MessageBox.Show("押された") End Sub Private Sub CMD_F5_Click(ByVal sender As Object, e As System.EventArgs) Handles CMD_F5.Click Foo() End Sub Private Sub Form1_Load(ByVal sender As Object, e As System.EventArgs) Handles Me.Load KeyPreview = True End Sub Private Sub Form1_KeyDown(ByVal sender As Object, e As System.KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.F5 Then 'CMD_F5.PerformClick() Foo() End If End Sub // --- Delphi --- procedure Form1.Foo; begin MessageBox.Show('押された'); end; procedure Form1.CMD_F5_Click(sender: System.Object; e: System.EventArgs); begin self.Foo end; procedure Form1.Form1_Load(sender: System.Object; e: System.EventArgs); begin inherited KeyPreview := true; end; procedure Form1.Form1_KeyDown(sender: System.Object; e: System.KeyEventArgs); begin if (e.KeyCode = Keys.F5) then begin // self.CMD_F5.PerformClick; self.Foo; end; end;
分類:[.NET]