2012-02-03 78 views
2

我有一個小問題,我創建了一個簡單的搜索應用程序,它有一個文本框和一些組合框以及單選按鈕和一個搜索按鈕。 單選按鈕名稱「視頻」,「音頻」,「圖片」等。 當選擇視頻單選按鈕時,出現選項「YouTube」,「Metacafe」等組合框等 我希望當我點擊「Metecafe」項目在視頻組合框中,其他組合框出現具有諸如「娛樂」,「如何」,「+18」等(視頻搜索類別)的項目。 所以「如何顯示/隱藏與COMBOBOX項目幫助其他COBOXOX」 希望你已經理解我的問題。 screen shoot 我不知道它是可以或不可以becux我在VB初學者 我的英語不太好,請參見下面的代碼:)用組合框項目幫助顯示/隱藏另一個組合框

if combobox1.SelectedItem = "PAKISTAN" Then 
    combobox2.Visible = True 
End if 

if combobox1.SelectedItem = "INDIA" Then 
    combobox3.visible = true 
    combobox2.visible = false 
End if 

顯然這個代碼是錯誤的,這是一個例如什麼我想要做 感謝所有提前..

注: 我有嘗試這個代碼,但它不工作..

if ComboBox1.Items(ComboBox1.SelectedIndex).ToString() = "PAKISTAN" Then 

    ComboBox2.Visible = True 

End if 

個遺憾的拼寫和語法錯誤:(

回答

3

嘗試使用SelectedItem物業這樣

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    If ComboBox1.SelectedItem.ToString = "PAKISTAN" Then 
     ComboBox2.Visible = True 
    End If 
End Sub 

既然你是想檢查多個國家的,你可以使用Select Case聲明這樣

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 

    Select Case ComboBox1.SelectedItem.ToString 
     Case "PAKISTAN" 
      ComboBox2.Visible = True 
      ComboBox3.Visible = False 
     Case "INDIA" 
      ComboBox3.Visible = True 
      ComboBox2.Visible = False 
     Case Else 
      ComboBox2.Visible = False 
      ComboBox3.Visible = False 
    End Select 
End Sub 
+0

已解決OMG! [感謝](http://2.bp.blogspot.com/-IDTN-bZpzVI/TicIm_oBlYI/AAAAAAAAGH0/dlTECyJKWrs/s640/thanks.gif)非常感謝Mark。 感謝所有人的快速反應感謝分配注意有一個美好的一天:-) – 2012-02-04 07:57:48

0
If ComboBox1.Items(ComboBox1.SelectedIndex).ToString() = "PAKISTAN" Then 

    ComboBox2.Visible = True 

End If 
+0

確定讓我們看看會發生什麼..等等。 – 2012-02-02 18:21:38

+0

沒有它的不工作.. :-( – 2012-02-02 18:58:07

+0

它是否編譯?您是否設置了斷點並檢查了Combobox1.Items(Combobox1.SelectedIndex).ToString()的值?請提供更多信息以獲取其他幫助。 – N0Alias 2012-02-02 19:43:27

1

這裏有兩件事很重要:

(a)您正在使用哪個事件/檢測/組合框已更改,並且
(b)您用於檢測選定內容的代碼。

我沒有測試過這一點,我是從一個C#/ VB6背景的人,所以忍耐一下,如果這不是100%正確的,但我相信使用下面應該工作:

內ComboBox1的SelectedIndexChanged事件,上面插入你的代碼,除非..變化情況類似

combobox1.SelectedItem = "PAKISTAN" 

ComboBox1.Text = "PAKISTAN" 

selectedItem屬性輸出所選項目對象本身,這是一種無法顯示的變量類型。不是當前選定項目的/ text /。還有其他方法可以訪問與該項目關聯的文本,但ComboBox1.Text是最簡單的。 ComboBox1.SelectedItem.ToString()也可以。

+0

SelectedIndex爲您提供索引,SelectedItem爲您提供選定的對象。 – 2012-02-03 18:55:37

+0

更正,我誤讀。 – 2012-02-03 18:58:26

+0

感謝德魯阿爾登,我的問題現在由馬克解決。 – 2012-02-04 08:00:52

0

btw這是一個網絡客戶端或窗口客戶端?

假設您正在實施Web客戶端應用程序且條件邏輯很簡單,您可能需要觸發一個頁面重新加載,這可以通過指定事件並將屬性設置爲重新加載來啓用。我最初從閱讀你的文章是因爲你的GUI可能不會刷新或重新加載,除非你的意圖是不重新加載頁面或刷新GUI,那麼這應該用JavaScript來處理。

我希望我正確地解釋這個問題,希望這會給你一些關於如何解決這個問題的想法。

相關問題