将 VB.NET 中的检查列表转换为整数
Converting check List in VB.NET to integer
这是我第一次使用 VB.Net 这是一项大学作业,已经到期 submission.I 想创建一个简单的程序来确定用户是否患有埃博拉病毒。因此,有一个包含埃博拉核心症状的复选框列表。如果用户选择 4 或更多,应该有一条提示消息说用户最有可能感染埃博拉病毒,否则用户没有埃博拉病毒。
我已经创建了表单并且它可以工作,但不知道如何将复选框实现为将被汇总的数字。
这是表单的代码
Public Class Checkbxvb
Private Sub Checkbxvb_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label1.Text = "Click to select the symptoms you are having"
CheckBox1.Text = "Fever"
CheckBox2.Text = "Loss of appetite"
CheckBox3.Text = "sore throat"
CheckBox4.Text = "Gastrointestinal Symptoms"
CheckBox5.Text = "Unexplained bleeding or bruising"
CheckBox6.Text = "Loss of weight"
Button1.Text = "Submit"
Button2.Text = "Close"
End Sub
我想创建一个按钮来收集我之前所说的用户输入。谢谢
如果您使用的是 CheckListBox,则可以使用其 CheckedItems 集合 Count 属性 来获取您需要的内容。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If CheckedListBox1.CheckedItems.Count > 3 Then
MessageBox.Show("You may have Ebola.")
Else
MessageBox.Show("You probably don't have Ebola.")
End If
End Sub
如果您使用的是 CheckBox 控件,请将它们添加到 List(Of T) 中。 T 代表类型。在表单级别为列表创建一个变量,以便可以从 Form.Load 和单击按钮时看到它。然后你可以遍历你的集合并在 Checked 属性 为 True 时增加一个计数器。
Private CkBxList As New List(Of CheckBox)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CkBxList.AddRange({CheckBox1, CheckBox2, CheckBox3, CheckBox4})
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim counter As Integer
For Each cb In CkBxList
If cb.Checked Then
counter += 1
End If
Next
If counter > 3 Then
MessageBox.Show("You may have Ebola.")
Else
MessageBox.Show("You probably don't have Ebola.")
End If
End Sub
如您所见,使用 CheckedListBox 的代码要简单得多。尝试使用最适合您目的的控件。
这是我第一次使用 VB.Net 这是一项大学作业,已经到期 submission.I 想创建一个简单的程序来确定用户是否患有埃博拉病毒。因此,有一个包含埃博拉核心症状的复选框列表。如果用户选择 4 或更多,应该有一条提示消息说用户最有可能感染埃博拉病毒,否则用户没有埃博拉病毒。
我已经创建了表单并且它可以工作,但不知道如何将复选框实现为将被汇总的数字。
这是表单的代码
Public Class Checkbxvb
Private Sub Checkbxvb_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label1.Text = "Click to select the symptoms you are having"
CheckBox1.Text = "Fever"
CheckBox2.Text = "Loss of appetite"
CheckBox3.Text = "sore throat"
CheckBox4.Text = "Gastrointestinal Symptoms"
CheckBox5.Text = "Unexplained bleeding or bruising"
CheckBox6.Text = "Loss of weight"
Button1.Text = "Submit"
Button2.Text = "Close"
End Sub
我想创建一个按钮来收集我之前所说的用户输入。谢谢
如果您使用的是 CheckListBox,则可以使用其 CheckedItems 集合 Count 属性 来获取您需要的内容。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If CheckedListBox1.CheckedItems.Count > 3 Then
MessageBox.Show("You may have Ebola.")
Else
MessageBox.Show("You probably don't have Ebola.")
End If
End Sub
如果您使用的是 CheckBox 控件,请将它们添加到 List(Of T) 中。 T 代表类型。在表单级别为列表创建一个变量,以便可以从 Form.Load 和单击按钮时看到它。然后你可以遍历你的集合并在 Checked 属性 为 True 时增加一个计数器。
Private CkBxList As New List(Of CheckBox)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CkBxList.AddRange({CheckBox1, CheckBox2, CheckBox3, CheckBox4})
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim counter As Integer
For Each cb In CkBxList
If cb.Checked Then
counter += 1
End If
Next
If counter > 3 Then
MessageBox.Show("You may have Ebola.")
Else
MessageBox.Show("You probably don't have Ebola.")
End If
End Sub
如您所见,使用 CheckedListBox 的代码要简单得多。尝试使用最适合您目的的控件。