none
兩個ListBox 第二個如何寫才能有4種3個的可能 RRS feed

  • 問題

  • 點第一個listbox有4個選項  點其中一個之後 第二個listbox會出現3個選項 所以第二個listbox會有4組3個的選項 如何寫才可以讓第二個listbox的四組3個分開 

    EX. listbox1有 中信 義大 統一 桃猿 , 當我點中信時 , listbox2會出現 彭政閔 周思齊 張正偉 ; 當我點義大時 , 會出現 林益全 張建銘 高國輝,我要如何讓出現彭政閔時是一組select case , 而換到林益全時 可以換另一組select case 

    2015年12月9日 下午 12:56

解答

  • 樓主的意思應該是依據 ListBox1 選擇的結果來決定 ListBox2 的列表, 這其實靠 ListBox.SelectedIndexChanged 事件就可以辦到

    類似以下這樣

    Public Class Form1
        Private teams As List(Of String)
        Private membersOfTeam As Dictionary(Of String, List(Of String))
    
        Sub New()
    
            ' 此為設計工具所需的呼叫。
            InitializeComponent()
            ' 在 InitializeComponent() 呼叫之後加入任何初始設定。
            teams = New List(Of String) From {"中信", "義大"}
            ListBox1.DataSource = teams
            membersOfTeam = New Dictionary(Of String, List(Of String))
    
            Dim members0 As List(Of String) = New List(Of String) From {"彭政閔", "周思齊", "張正偉"}
            membersOfTeam.Add(teams(0), members0)
    
            Dim members1 As List(Of String) = New List(Of String) From {"林益全", "張建銘", "高國輝"}
            membersOfTeam.Add(teams(1), members1)
    
            AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
    
            ListBox1.SelectedIndex = 0
            ChangeListBox2()
        End Sub
    
        Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
            ChangeListBox2()
        End Sub
    
        Private Sub ChangeListBox2()
            ListBox2.DataSource = membersOfTeam(ListBox1.SelectedValue)
        End Sub
    
    End Class
    


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2015年12月9日 下午 03:58
    版主

所有回覆

  • 如何寫才可以讓第二個listbox的四組3個分開

    ...

    我要如何讓出現彭政閔時是一組select case , 而換到林益全時 可以換另一組select case 

    不是很明白?

    2015年12月9日 下午 01:21
  • 樓主的意思應該是依據 ListBox1 選擇的結果來決定 ListBox2 的列表, 這其實靠 ListBox.SelectedIndexChanged 事件就可以辦到

    類似以下這樣

    Public Class Form1
        Private teams As List(Of String)
        Private membersOfTeam As Dictionary(Of String, List(Of String))
    
        Sub New()
    
            ' 此為設計工具所需的呼叫。
            InitializeComponent()
            ' 在 InitializeComponent() 呼叫之後加入任何初始設定。
            teams = New List(Of String) From {"中信", "義大"}
            ListBox1.DataSource = teams
            membersOfTeam = New Dictionary(Of String, List(Of String))
    
            Dim members0 As List(Of String) = New List(Of String) From {"彭政閔", "周思齊", "張正偉"}
            membersOfTeam.Add(teams(0), members0)
    
            Dim members1 As List(Of String) = New List(Of String) From {"林益全", "張建銘", "高國輝"}
            membersOfTeam.Add(teams(1), members1)
    
            AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
    
            ListBox1.SelectedIndex = 0
            ChangeListBox2()
        End Sub
    
        Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
            ChangeListBox2()
        End Sub
    
        Private Sub ChangeListBox2()
            ListBox2.DataSource = membersOfTeam(ListBox1.SelectedValue)
        End Sub
    
    End Class
    


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2015年12月9日 下午 03:58
    版主
  • 您可以利用ListBox2.Text取得使用者點選的項目, 例如:彭政閔或林益全, 程式再利用這個值當做參數丟給一個函式, 由這函式Select 所有的Case, 例如:

    Select Case 參數
    
        Case 彭政閔
    
        Case 周思齊
    
        Case 張正偉
    
        Case 林益全
    
        Case 張建銘
    
        Case 高國輝
    
    End Select


    2015年12月10日 上午 04:04