普通のテキストボックスでEnterされたときにBeep音を出さないには、
KeyPressイベントで
If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
e.Handled = True
End If
とすればいいのですが、NumericUpDownのKeyPressイベントて同じように書いてもEnterしたときにBeep音が鳴ってしまいます。Beep音を出さないようにするにはどうすればよろしいでしょうか?
やっぱり、方法はないんでしょうか?
※私の環境ではビープ音は鳴らないので確認できません。
NumericUpDown はコンテナで、Controls プロパティにテキストボックスとボタンを含んでいます。
この Controls に含まれるテキストボックスの KeyPress イベントに仕込んだらいかがでしょうか。
Hongliang様ありがとうございます。
初級者なものでして大変申し訳ありません。ぐ、具体的にはどのようにすればよろしいでしょうか?ご教授願えませんでしょうか。
// さすがに口では説明できない……。
' Load イベントにでも
Dim ctrl As Control
For Each ctrl In NumericUpDown1.Controls
If TypeOf ctrl Is TextBox Then
AddHandler ctrl.KeyPress, _
AddressOf NumericUpDown1TextBox_KeyPress
End If
Next
' イベントハンドラの定義
Private Sub NumericUpDown1TextBox_KeyPress( _
ByVal sender As Object, ByVal e As KeyPressEventArgs)
If e.KeyChar = ChrW(13) Then
e.Handled = True
End If
End Sub
Hongliang様たいへんありがとうございます(感謝)
しかしながら、仰せの通りやってみたのですが、やはりBeep音は止まりません。
どこがいけないのでしょうか?
Hongliang様 いろいろ試しましたが、以下のようにどんなキーが押されても処理中止にしてもBeep音は鳴ってしまいます。
Private Sub NumericUpDown1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
e.Handled = True
End Sub
って、ことはなにをやってもダメということでしょうか?
ツイート | ![]() |