在VB中加入一个简单的For循环

时间:2013-10-30 02:32:03

标签: vb.net

我正在为我的VB课程开发一个快速项目,但我遇到了一个问题。我是语言的新手,所以我不知道我在做什么...目前我有一个非常非常简单的程序设置为RSVP列表。我设置了一个Txt框,用于在Listbox和Male / Female单选按钮中插入一个名称,其中包含Over 21 Check复选框和Submit按钮,以将此信息发送到Listbox。我想要做的是以某种方式合并一个循环来向Label添加一个计数器,当每个名称被添加时,它会一直向上,直到达到15,然后它将显示一个Messagebox。这可能没有任何用于循环,但我只是想在某个地方挤压它,因为它是分配的要求。

我的代码(是的,我知道它很差)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub

Private Sub SubmitBtn1_Click(sender As Object, e As EventArgs) Handles SubmitBtn1.Click
    Dim NamesInput As String
    NamesInput = NamesTxt1.Text
    If GenderRdBtn1.Checked = False And GenderRdBtn2.Checked = False Then
        MessageBox.Show("Please Select a Gender")

    ElseIf GenderRdBtn1.Checked = True Then
        MessageBox.Show("Congratulations! You Have RSVP'd as " & NamesInput)
    Else
        MessageBox.Show("Congratulations! You Have RSVP'd as " & NamesInput)
    End If
    If AgeChk1.Checked = True Then
        NamesLstBox1.Items.Add(NamesInput & " / Over 21")
    Else
        NamesLstBox1.Items.Add(NamesInput)
    End If

    If GenderRdBtn1.Checked = False And GenderRdBtn2.Checked = False Then
        NamesLstBox1.Items.RemoveAt(0)
    End If
End Sub

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你是对的 - 这里不需要循环...但是,如果循环是一个“功能需求”,你可以在每次添加新名称时循环遍历NamesLstBox Items集合,迭代一个计数器,然后根据计数设置标签的值。

Dim Count as Integer
For Each i In NamesLstBox1.Items
    Count += 1
    If Count = 15 Then
        'display message box
    End If
Next
Label.Text = Count.ToString()

再次 - 这是一个非常低效的操作,因为每次保存计数并简单地增加它是有意义的。我可能会在其他地方寻找更好的循环使用