【问题标题】:show/hide another combobox, with the help of combobox items在组合框项目的帮助下显示/隐藏另一个组合框
【发布时间】:2012-02-03 18:42:35
【问题描述】:

我有一个小问题,我正在创建一个简单的搜索应用程序,它有一个文本框、一些组合框、单选按钮和一个搜索按钮。 单选按钮名称为“视频”、“音频”、“图片”等。 when radiobutton of video is selected, a combobox is appear having options "YouTube", "Metacafe" etc 我希望当我单击视频组合框中的“Metecafe”项目时,会出现另一个组合框,其中包含“娱乐”、“操作方法”、“+18”等项目(视频搜索类别)。 所以“如何在组合框项目的帮助下显示/隐藏另一个组合框” 希望你明白我的问题。 screen shoot 我不知道这是否可能,因为我是 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

抱歉拼写和语法错误:(

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    尝试像这样使用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
    

    【讨论】:

    • 天啊解决了!! thanks非常感谢马克。感谢所有人的快速响应感谢分配保重祝您有美好的一天:-)
    【解决方案2】:

    这里有两件事很重要:

    (a) 您使用哪个事件/检测/组合框已更改,以及
    (b) 您用来检测所选内容的代码。

    我没有对此进行测试,而且我来自 C# / VB6 背景,如果这不是 100% 正确,请耐心等待,但我相信使用以下方法应该可行:

    在 ComboBox1 的 SelectedIndexChanged 事件中,在上面插入您的代码,除了 .. 更改实例,如

    combobox1.SelectedItem = "PAKISTAN"
    

    ComboBox1.Text = "PAKISTAN"
    

    SelectedItem 属性输出被选中的item对象本身,它是一个无法显示的变量类型。。不是当前选中item的/text/。还有其他方法可以访问与该项目关联的文本,但 ComboBox1.Text 是最简单的。 ComboBox1.SelectedItem.ToString() 也可以。

    【讨论】:

    • SelectedIndex 为您提供索引,SelectedItem 为您提供 Selected 对象。
    【解决方案3】:
    If ComboBox1.Items(ComboBox1.SelectedIndex).ToString() = "PAKISTAN" Then
    
        ComboBox2.Visible = True
    
    End If
    

    【讨论】:

    • 编译了吗?您是否设置了断点并检查了 Combobox1.Items(Combobox1.SelectedIndex).ToString() 的值?请提供更多信息以获得更多帮助。
    • 我正在创建一个简单的搜索应用程序,它有一个文本框和一些组合框、单选按钮和一个搜索按钮。 radio button names "Videos", "Audios", "Pics" when radiobutton of video is selected, a combobox is appear having options "YouTube", "Metacafe" etc I want that when i click "Metecafe" item in combobox of video,出现另一个组合框,其中包含“娱乐”、“操作方法”、“+18”等项目(视频搜索类别)。所以“如何在组合框项目的帮助下显示/隐藏另一个 COBOBOX”希望现在你已经理解了我的问题。 screen
    【解决方案4】:

    顺便说一句,这是 Web 客户端还是窗口客户端?

    假设如果您正在实现一个 Web 客户端应用程序并且条件逻辑很简单,您可能需要触发页面重新加载,这可以通过指定一个事件在您的标记中实现,并将重新加载的属性设置为启用。我从阅读您的帖子开始对此的初步看法是,您的 GUI 可能不会刷新或重新加载,除非您打算不重新加载页面或刷新 GUI,那么这应该使用 javascript 来处理。

    我希望我正确地解释了这个问题,并希望这能让您对如何解决这个问题有所了解。

    【讨论】:

      猜你喜欢
      • 2014-11-22
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2012-01-22
      • 1970-01-01
      相关资源
      最近更新 更多