2

3 つのテキスト ボックスと [計算] というボタンがある vb.net フォームを作成しました。私がしたいのは、テキストボックスにいくつかの値を入力し、数値を計算するボタンをクリックすることだけです. 計算コーディング部分を行いました。

テキストボックスに数字のみを入力したいのですが、アルファベットまたは記号を入力すると、[OK] ボタンをクリックしたときに [OK] ボタンで重大なエラー メッセージが表示される必要があります。

これどうやってするの?

4

3 に答える 3

2

ユーザーが 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

テキストボックス内の数字、小数、およびナビゲーション (削除、バックスペース、左右) が可能です。

于 2013-01-03T14:12:45.143 に答える
1

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

MessageBox.Show方法

于 2013-01-03T13:51:57.847 に答える
0

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
于 2013-01-03T14:02:17.980 に答える