- 題名: フォームのファンクションキー押下について
- 日時: 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]