3 つのテキスト ボックスと [計算] というボタンがある vb.net フォームを作成しました。私がしたいのは、テキストボックスにいくつかの値を入力し、数値を計算するボタンをクリックすることだけです. 計算コーディング部分を行いました。
テキストボックスに数字のみを入力したいのですが、アルファベットまたは記号を入力すると、[OK] ボタンをクリックしたときに [OK] ボタンで重大なエラー メッセージが表示される必要があります。
これどうやってするの?
3 つのテキスト ボックスと [計算] というボタンがある vb.net フォームを作成しました。私がしたいのは、テキストボックスにいくつかの値を入力し、数値を計算するボタンをクリックすることだけです. 計算コーディング部分を行いました。
テキストボックスに数字のみを入力したいのですが、アルファベットまたは記号を入力すると、[OK] ボタンをクリックしたときに [OK] ボタンで重大なエラー メッセージが表示される必要があります。
これどうやってするの?
ユーザーが WinForm アプリに値を入力するときにこれを処理できるようにする場合、これは非常にうまく機能します。
Private Sub TextBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Textbox.KeyDown
Select Case e.KeyCode
Case Keys.D0 To Keys.D9, Keys.NumPad0 To Keys.NumPad9, _
Keys.OemPeriod, Keys.Decimal, Keys.Back, Keys.Delete, _
Keys.Left, Keys.Right
If e.Shift = True Then
e.SuppressKeyPress = True
Exit Sub
End If
e.SuppressKeyPress = False
Case Else
e.SuppressKeyPress = True
End Select
End Sub
テキストボックス内の数字、小数、およびナビゲーション (削除、バックスペース、左右) が可能です。
Int32.TryParse
(または) を使用Double.TryParse
して、入力した数値が整数 (または double、小数点以下の桁数) であるかどうかを確認できます。
Dim num As Int32
If Not Int32.TryParse(textBox1.Text, num) Then
MessageBox.Show("Please enter only integers!", "Critical Warning",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Asp 用にコーディングしているか、WinForms WinForms 用にコーディングしているかを指定しません。
Private Sub TextBoxes_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged,TextBox2.TextChanged,TextBox3.TextChanged
'Assuming TextBox1,TextBox2,TextBox3 are your textboxes
Dim txt as new textbox
txt=DirectCast(sender,TextBox)
If IsNumeric(txt.text)=False Then
'Here put your code: what you would to do if user insert a not numeric value
'For example, messagobox, ErrorProvider, or clear the textBox etc
End if
End Sub