【问题标题】:How do I change a VB.NET combo box text?如何更改 VB.NET 组合框文本?
【发布时间】:2017-05-29 17:38:40
【问题描述】:

我有一个包含组合框的 VB.NET Windows 窗体应用程序。最初我已将框的文本属性设置为“选择部门”。

用户从列表中选择一个条目后,框的文本字段会显示用户选择的项目。在我的代码处理用户选择的项目后,我想将文本字段更改回原始短语...“选择部门”...但更改 myCOMBO.Text 无效。仍然显示最后选择的项目。

如何替换所选项目的文本?

【问题讨论】:

  • 先显示您的代码,没有它我们无法帮助您。该问题缺少对您有帮助的详细信息。

标签: vb.net combobox


【解决方案1】:

尝试使用SelectedText 属性:

myCombo.SelectedText = "..."

【讨论】:

    【解决方案2】:

    您可能没有意识到,但实际上您的代码或组合框项中可能存在拼写错误。请记住,使用 text 属性设置组合框时,您指定的文本必须与组合框项精确匹配,因此当 ComboBox 项为 "This Text" 时设置 ComboBox1.text = "This Text" 将失败。

    但是,取决于项目的添加方式以及您是否已经知道“选择部门”条目位于哪个索引处, 你可以直接跳到ComboBox1.SelectedIndex = ...,记住第一个索引是0,第二个是1,以此类推。

    或者,尝试找到组合框的索引来设置它:

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    
        If Not ComboBox1.Text.Trim() = "Select Department" Then
    
            'do your stuff here
    
            Dim the_index as integer = 0
    
            For a = 0 To ComboBox1.Items.Count - 1
    
                If ComboBox1.Items(a).ToString.Trim() = "Select Department" Then
    
                   the_index = a
    
                   Exit For
    
                End If
    
            Next
    
            ComboBox1.SelectedIndex = the_index
    
        End If
    
    End Sub
    

    【讨论】:

      【解决方案3】:

      我认为您不是在寻找更改组合框的文本,而是在尝试填充组合框项。

      你必须用你想要的查询创建一个新的 SQL 命令,创建一个 sqldatareader 来从这个查询中获取数据。然后赋值给myCOMBO.Datasource

      myCOMBO.Datasource = datareader.read()
      

      【讨论】:

        猜你喜欢
        • 2012-03-10
        • 2011-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多