VB.NET NumericUpDown にてEnter時にBeep音を鳴らさないには


まいける  2006-05-12 03:30:38  No: 95363

普通のテキストボックスでEnterされたときにBeep音を出さないには、
KeyPressイベントで

If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
    e.Handled = True    
End If

とすればいいのですが、NumericUpDownのKeyPressイベントて同じように書いてもEnterしたときにBeep音が鳴ってしまいます。Beep音を出さないようにするにはどうすればよろしいでしょうか?


まいける  2006-05-13 22:21:36  No: 95364

やっぱり、方法はないんでしょうか?


Hongliang  URL  2006-05-14 01:15:20  No: 95365

※私の環境ではビープ音は鳴らないので確認できません。

NumericUpDown はコンテナで、Controls プロパティにテキストボックスとボタンを含んでいます。
この Controls に含まれるテキストボックスの KeyPress イベントに仕込んだらいかがでしょうか。


まいける  2006-05-14 02:48:10  No: 95366

Hongliang様ありがとうございます。
初級者なものでして大変申し訳ありません。ぐ、具体的にはどのようにすればよろしいでしょうか?ご教授願えませんでしょうか。


Hongliang  URL  2006-05-14 03:52:13  No: 95367

// さすがに口では説明できない……。

' 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


まいける  2006-05-14 07:07:44  No: 95368

Hongliang様たいへんありがとうございます(感謝)
しかしながら、仰せの通りやってみたのですが、やはりBeep音は止まりません。
どこがいけないのでしょうか?


まいける  2006-05-15 22:33:24  No: 95369

Hongliang様  いろいろ試しましたが、以下のようにどんなキーが押されても処理中止にしてもBeep音は鳴ってしまいます。

Private Sub NumericUpDown1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)

    e.Handled = True

End Sub

って、ことはなにをやってもダメということでしょうか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加