如何为组合框上的选定文本添加文本
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。
我有一个带有组合框的 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。