如何为组合框上的选定文本添加文本

how to add a text for the selected text on a combobox

我有一个带有组合框的 windows 应用程序。 这是我的代码:

Dim TitleVList As New List(Of TitleV_List)


    con = New SqlConnection(connectionString)

    'Fill the UOM Drop Down with all System UOM
    sql = "Select ID, Full_Name FROM cts_TitleV_Leads WHERE IsActive = 1"
    If con.State = ConnectionState.Closed Then
        con.Open()
    End If

    cmd.CommandType = CommandType.Text
    cmd.Connection = con
    cmd.CommandText = sql

    dr = cmd.ExecuteReader




    If dr.HasRows = True Then
        While dr.Read

            TitleVList.Add(New TitleV_List(dr("Full_Name"), dr("ID")))

        End While
    End If

    If con.State = ConnectionState.Open Then
        con.Close()
        dr.Close()
    End If




    ddlpropTitleVlist.DataSource = TitleVList

    ddlpropTitleVlist.DisplayMember = "Full_Name"
    ddlpropTitleVlist.ValueMember = "ID"

我想要的是,当第一次显示组合框时,它显示 "Select Item" 作为选定的文本,但是当他们单击下拉箭头时 "Select Item" 不显示在列表中. 我试过了

ddlpropTitleVlist.SelectedText = "Select Item"

ddlpropTitleVlist.Text = "Select Item"

但是当屏幕显示时它不显示 "Select Item" 它显示列表中的第一个名字。 我有一个 tabcontrol 并且我正在使用 TabControl_DrawItem 因为我的选项卡是水平的。我不知道这是否与这个不起作用有关。

请帮忙。

谢谢 马特

考虑:

Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
    ComboBox1.SelectedIndex = 0
    ComboBox1.SelectedIndex = -1
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    If ComboBox1.SelectedIndex = -1 Then
        ComboBox1.Text = "Select Item"
    End If
End Sub

想法是,在设计时,您可以在 ComboBox 项目集合中添加任何您想要的选项。在 运行 时,在 Form.Activated 事件中(Form.Load 也应该有效),ComboBox 的 SelectedIndex 属性 设置为 -1。在 ComboBox 的 SelectedIndexChanged 事件中,如果索引为 -1,则将 Text 属性 设置为占位符文本。请注意,为了让它工作(至少在我的系统上),我必须先将 SelectedIndex 设置为零,然后再将其设置为 -1。