我是Visual Basic的新手,我正在尝试编写一个程序来确定三个中最小的一个。每次我运行程序时,它都不会弹出消息框。这是我到目前为止的内容:
公共类表格1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim TextBox1 As Integer
Dim TextBox2 As Integer
Dim TextBox3 As Integer
TextBox1 = Val(TextBox1)
TextBox2 = Val(TextBox2)
TextBox3 = Val(TextBox3)
If TextBox1 < TextBox2 And TextBox1 < TextBox3 Then
MessageBox.Show(TextBox1)
End If
End Sub
答案 0 :(得分:0)
您可以发布前端吗?
简而言之,您的值(TextBox1、2、3)没有任何值,因为您没有为其分配任何东西
Dim value1 as Integer = CInt(TextBox1.Text)
Dim value2 as Integer = CInt(TextBox2.Text)
我假设您的前端有文本框,您可以在其中输入数字。在后面的代码中,您需要使用.Text属性从文本框中提取值。 CInt只是一种从字符串转换为整数的方法。
此外,我将使用“ AndAlso”逻辑而不是“ And”,这在性能上会更好。如果第一组逻辑失败,则它不会运行第二部分,因此节省了一些性能时间。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim value1 As Integer = CInt(TextBox1.Text)
Dim value2 As Integer = CInt(TextBox2.Text)
Dim value3 As Integer = CInt(TextBox3.Text)
If value1 < value2 AndAlso value1 < value3 Then
MessageBox.Show(value1.ToString())
Else
MessageBox.Show("Some output here....")
End If
End Sub
答案 1 :(得分:0)
您还可以将.Min与数组结合使用以找到最小值。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Declare an array of type Integer with 3 elements
Dim value(2) As Integer
'A variable to hold the parsed value of TextBoxes
Dim intVal As Integer
If Integer.TryParse(TextBox1.Text, intVal) Then
'Assign the parsed value to an element of the array
value(0) = intVal
End If
If Integer.TryParse(TextBox2.Text, intVal) Then
value(1) = intVal
End If
If Integer.TryParse(TextBox3.Text, intVal) Then
value(2) = intVal
End If
'Use .Min to get the smalles value
Dim minNumber As Integer = value.Min
MessageBox.Show($"The smalles value is {minNumber}")
'Or
'in older versions of vb.net
'MessageBox.Show(String.Format("The smallest value is {0}", minNumber))
End Sub