ユーザーが入力したスペースや数字以外の文字を受け入れないようTextBox
に設定する方法はありますか? ユーザーが数字のみを入力する必要があるという呼び出しのあるプログラムを作成しています。ユーザーが数字以外の文字またはスペースを入力しようとすると、に何も表示されませvb
ん。どうすればそれができますか?TextBox
phoneField
TextBox
質問する
3300 次
5 に答える
2
最初にマスクに 0 を使用して、数字のみを許可します。次に、ResetOnSpace プロパティを false に割り当てます
Me.MaskedTextBox.ResetOnSpace = False
これにより、プロンプトの一部でない限り、ユーザーが入力したスペースは拒否されます。
于 2012-05-31T20:49:18.893 に答える
1
これは、これを処理するための間違った方法です。アプリに対する怒りでユーザーを狂わせます。代わりに、彼らが望むものを何でも入力できるようにし、最初に非数字を取り除いてから結果を検証するコードをバックエンドに用意します。
于 2012-04-19T13:48:57.333 に答える
0
于 2012-04-19T10:00:28.540 に答える
0
継承された TextBox コントロールを使用して、これと同様のことを行いました。
この方法の利点は、切り取り、コピー、貼り付けが正しく機能することです。
''' <summary>
''' A TextBox control that only allows numeric input
''' </summary>
''' <remarks>Allows cut, copy and paste</remarks>
Public Class NumericTextBox
Inherits TextBox
Private _textBefore As String = ""
Protected Overrides Sub OnTextChanged(e As System.EventArgs)
Me.SuspendLayout()
If MyBase.Text.Length > 0 AndAlso Not IsNumeric(MyBase.Text) Then
' The text has been changed to a non numeric value
Dim selectionStart As Integer = MyBase.SelectionStart
MyBase.Text = _textBefore
MyBase.SelectionStart = selectionStart
Else
' The current text is numeric (or blank) remember it in case it changes to an invalid value
_textBefore = MyBase.Text
End If
MyBase.OnTextChanged(e)
Me.ResumeLayout()
End Sub
End Class
于 2012-10-14T22:58:27.157 に答える