【发布时间】:2011-08-21 14:46:53
【问题描述】:
我有一个组合框。我希望它只允许选择列出的项目。如何让它显示初始图例?
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems
ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
ComboBox1.Items.Add("FirstItem")
ComboBox1.Items.Add("SecondItem")
ComboBox1.Items.Add("ThirdItem")
ComboBox1.SelectedText = "Select Item"
使用此代码,组合框将显示为没有文本。
如果我删除ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList 语句,则显示ComboBox1.SelectedText = "Select Item" 中的文本,但用户可以在组合框中输入与listItems 不匹配的其他值。
【问题讨论】:
-
我不太确定您所说的“初始图例”是什么意思。你的意思是你希望它预先选择第一个项目吗?还是您在谈论"cue banner"?
-
一个“提示横幅”,这就是我尝试使用
ComboBox1.SelectedText="Select Item" -
嗯,好的。 Windows Vista 及更高版本对此具有内置支持,这在 WinForms 应用程序中非常容易使用。您仍然需要您的应用程序才能在 Windows XP 上运行吗?
-
我不明白,它根本不会在 XP 中显示提示,它仍然会运行。随着时间的推移,这个问题会自行解决。谷歌 CB_SETCUEBANNER。
-
是的,我的意思是我在某种程度上同意汉斯的观点。如果提示横幅出现在 XP 中不是绝对重要的,只需使用
CB_SETCUEBANNER并使用它。如果您真的关心该功能在所有目标操作系统上的工作,那么“手忙脚乱”就会出现。这是只有你才能做出的决定,这就是我问问题的原因。鉴于情况,我只是想给出最好的答案。
标签: .net windows vb.net winforms combobox