2

VS 2008 を使用しています。Windows またはスマート デバイス プロジェクトのいずれかで、現在ボタンにフォーカスがあるときにスペース キーを押すと、ボタンがクリックされ、Clickイベントが発生します。スペースバーがボタンクリックを引き起こさないように、それをスキップさせるプロパティまたは設定はありますか?

4

1 に答える 1

5

フォームの KeyPreview プロパティを KeyDown イベントと共に使用して、ボタンに渡される前にスペース バーをキャッチできます。ボタンにフォーカスがある場合は、キーの押下を処理済みとしてマークして、バブルアップを防ぐことができます。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MessageBox.Show("Button Clicked")
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.KeyPreview = True
End Sub

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.Space And Button1.Focused Then
        e.Handled = True
    End If
End Sub
于 2012-12-20T02:07:48.030 に答える