文本框为整数?

时间:2015-02-11 20:32:35

标签: vb.net winforms

我制作了一个只能包含数字的文本框。但是,我想将文本框中写入的数字乘以2,然后显示它。由于某种原因,显示的数字始终为0.我使用的是Visual Basic Express edition 2008

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    Dim TextBox1 As Integer

    If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Xor Asc(e.KeyChar) = 8 Xor Asc(e.KeyChar) = 44 Xor Asc(e.KeyChar) = 46 Then
        e.Handled = True
        MessageBox.Show(TextBox1 * 2)
    End If
End Sub

4 个答案:

答案 0 :(得分:2)

您创建了一个int变量

Dim TextBox1 As Integer

默认为0.然后将其乘以2.

MessageBox.Show(TextBox1 * 2)

0 * 2 = 0。

您需要从TextBox获取Value,将文本解析为int(int.Parse),然后乘以该值。

答案 1 :(得分:2)

尝试这样做:

Dim TextBox1 As Integer
TextBox1 = Convert.ToInt32(TextBox1.Text)

答案 2 :(得分:1)

如果它是您正在使用的文本框,而不仅仅是您命名为textbox1的变量,那么只需使用 'messageBox.show(CInt(TextBox1.Text)* 2))'

答案 3 :(得分:0)

也许下面的例子会有所帮助......

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress

    Select Case Convert.ToInt16(e.KeyChar)

        Case 48 To 57 ' only allow numbers in this Case
            MessageBox.Show(CStr(CDec(e.KeyChar.ToString) * 2))

        Case Else ' handle everything else here
            e.Handled = True
    End Select
End Sub