注册 登录
编程论坛 VB.NET论坛

vb2012列表框ListBox与 复选列表框CheckedListBox问题如何在弹出form2显示

次郎三真 发布于 2016-05-08 22:11, 5344 次点击
建一个form1,一个ListBox1,一个CheckedListBox1,一个Button1。建一个form2,一个TextBox1。
我想要的结果是列表框选择了AAAA后的Aaaa,然后弹出提示“这是Aaaa的结果”,但弹出的都是Caaa的结果这是怎么回事?你能帮我修改一下行吗?
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

我设计的语句如下:
1、双击form1空白处把一下代码复制粘贴
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ListBox1.Items.Add("AAAA")
        ListBox1.Items.Add("BBBB")
        ListBox1.Items.Add("CCCC")
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.Click
        CheckedListBox1.Items.Clear()
        Select Case ListBox1.SelectedIndex
            Case 0
                CheckedListBox1.Items.Add("Aaaa")
                CheckedListBox1.Items.Add("Abbb")
                CheckedListBox1.Items.Add("Accc")
                CheckedListBox1.Items.Add("Addd")
            Case 1
                CheckedListBox1.Items.Add("Baaa")
                CheckedListBox1.Items.Add("Bbbb")
                CheckedListBox1.Items.Add("Bccc")
                CheckedListBox1.Items.Add("Bddd")
            Case 2
                CheckedListBox1.Items.Add("Caaa")
                CheckedListBox1.Items.Add("Cbbb")
                CheckedListBox1.Items.Add("Cccc")
                CheckedListBox1.Items.Add("Cddd")
        End Select
    End Sub
2、双击Button1输入一下代码
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If (CheckedListBox1.GetItemChecked(0)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Aaaa的结果"
        End If
        If (CheckedListBox1.GetItemChecked(1)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Abbb的结果"
        End If
        If (CheckedListBox1.GetItemChecked(2)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Accc的结果"
        End If
        If (CheckedListBox1.GetItemChecked(3)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Addd的结果"
        End If
        If (CheckedListBox1.GetItemChecked(0)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Baaa的结果"
        End If
        If (CheckedListBox1.GetItemChecked(1)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Bbbb的结果"
        End If
        If (CheckedListBox1.GetItemChecked(2)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Bccc的结果"
        End If
        If (CheckedListBox1.GetItemChecked(3)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Bddd的结果"
        End If
        If (CheckedListBox1.GetItemChecked(0)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Caaa的结果"
        End If
        If (CheckedListBox1.GetItemChecked(1)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Cbbb的结果"
        End If
        If (CheckedListBox1.GetItemChecked(2)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Cccc的结果"
        End If
        If (CheckedListBox1.GetItemChecked(3)) = True Then
            Form2.Show()
            Form2.TextBox1.Text = "这是Cddd的结果"
        End If

    End Sub
End Class
不知道错在哪里

[此贴子已经被作者于2016-5-10 23:06编辑过]

5 回复
#2
次郎三真2016-05-10 08:03
If (CheckedListBox1.GetItemChecked(0)) = True Then
是不是在这里面错了
#3
次郎三真2016-05-12 16:16
2百多人路过,居然没有一人回答我
#4
风吹过b2016-05-13 15:47
我也刚开始学 。拿你的代码跟踪了一下,错误问题出在。你没有区分 第一个选择是哪个部分。

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        If ListBox1.SelectedIndex = 0 Then                          '选择了第一项时区分结果
            If (CheckedListBox1.GetItemChecked(0)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Aaaa的结果"
            End If
            If (CheckedListBox1.GetItemChecked(1)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Abbb的结果"
            End If
            If (CheckedListBox1.GetItemChecked(2)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Accc的结果"
            End If
            If (CheckedListBox1.GetItemChecked(3)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Addd的结果"
            End If
        End If
        If ListBox1.SelectedIndex = 1 Then                          '选择了第二项时区分结果
            If (CheckedListBox1.GetItemChecked(0)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Baaa的结果"
            End If
            If (CheckedListBox1.GetItemChecked(1)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Bbbb的结果"
            End If
            If (CheckedListBox1.GetItemChecked(2)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Bccc的结果"
            End If
            If (CheckedListBox1.GetItemChecked(3)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Bddd的结果"
            End If
        End If
        If ListBox1.SelectedIndex = 2 Then                          '选择了第三项时区分结果
            If (CheckedListBox1.GetItemChecked(0)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Caaa的结果"
            End If
            If (CheckedListBox1.GetItemChecked(1)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Cbbb的结果"
            End If
            If (CheckedListBox1.GetItemChecked(2)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Cccc的结果"
            End If
            If (CheckedListBox1.GetItemChecked(3)) = True Then
                Form2.Show()
                Form2.TextBox1.Text = "这是Cddd的结果"
            End If
        End If
    End Sub
#5
次郎三真2016-05-14 08:38
非常成功
#6
xhtaizi2016-06-16 14:51
新手路過,學習了,己保存,碼子寫的很漂亮
1