我制作了一个只能包含数字的文本框。但是,我想将文本框中写入的数字乘以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
答案 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