【问题标题】:CheckBox Data to ListBox (VBNet)复选框数据到列表框(VB 网络)
【发布时间】:2021-12-06 05:14:42
【问题描述】:

我的代码的问题是,当我最初选择一个特定的复选框时,它运行良好并在列表框中显示所选项目,但是当再次选择时,它会在列表框中创建另一个条目,当我删除它时,我必须取消选中相同的复选框当我单击 btnSubmit 时它在列表框中显示的次数。

谁能告诉我代码有什么问题,非常感谢

Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
    If CheckBox1.Checked Then
        ListBox1.Items.Add(CheckBox1.Text)
    Else
        ListBox1.Items.Remove(CheckBox1.Text)
    End If
    If CheckBox2.Checked Then
        ListBox1.Items.Add(CheckBox2.Text)
    Else
        ListBox1.Items.Remove(CheckBox2.Text)
    End If
    If CheckBox3.Checked Then
        ListBox1.Items.Add(CheckBox3.Text)
    Else
        ListBox1.Items.Remove(CheckBox3.Text)
    End If
    If CheckBox4.Checked Then
        ListBox1.Items.Add(CheckBox4.Text)
    Else
        ListBox1.Items.Remove(CheckBox4.Text)
    End If
    If CheckBox5.Checked Then
        ListBox1.Items.Add(CheckBox5.Text)
    Else
        ListBox1.Items.Remove(CheckBox5.Text)
    End If
    If CheckBox6.Checked Then
        ListBox1.Items.Add(CheckBox6.Text)
    Else
        ListBox1.Items.Remove(CheckBox6.Text)
    End If
End Sub

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 如果您在该方法中使用ListBox1.Items.Clear() 作为第一行,那么您将不需要任何Else.Remove 行。
  • 先生,我应该添加哪一行 ListBox1.Items.Clear()?
  • @JohnnyNitro 第一行。

标签: vb.net checkbox listbox


【解决方案1】:

你可以这样做:

Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
    ListBox1.Items.Clear
    CheckObj(CheckBox1)
    CheckObj(CheckBox2)
    CheckObj(CheckBox3)
    CheckObj(CheckBox4)
    CheckObj(CheckBox5)
    CheckObj(CheckBox6)
End Sub

Sub CheckObj (obj as Checkbox)
  if obj.checked then ListBox1.Items.Add (obj.text)
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2013-09-22
    • 2017-04-14
    • 2018-01-03
    相关资源
    最近更新 更多