2012-04-03 69 views
9

我有一个ComboBox控制与DropDownStyle属性设置为DropDownList。 一旦选择了某个项目,我如何清除ComboBox中的选择而不删除其中的任何项目?清除组合框选定的文本

我通常使用这样的事情:

myComboBox.Text.Clear(); 

但我不能这样做。任何想法如何我可以清除它?

+0

可能重复的[Programatically Clear Se在WPF组合框中选择](http://stackoverflow.com/questions/627304/programatically-clear-selection-in-wpf-combobox) – leetNightshade 2013-07-25 22:17:36

+0

@leetNightshade它是Windows窗体。 – Alex78191 2017-10-07 05:23:28

回答

43

你可以改变SelectedIndex属性:

comboBox1.SelectedIndex = -1; 
+1

我会试试看。 -1的索引将是一个'null'值? – phadaphunk 2012-04-03 18:52:51

+0

它清除选择 – ionden 2012-04-03 18:53:34

+0

哇作品像一个魅力! 非常感谢。 – phadaphunk 2012-04-03 18:55:35

0

尝试指定项目的实际索引你想删除从文本和设置它的文本等于“”。

myComboBox [this.SelectedIndex]。文本= “”

myComboBox.selectedIndex.Text = “”

我不记得确切的语法,但它是沿着这些线路的东西。

7

我能得到它的工作的唯一办法:

comboBox1.Text = ""; 

出于某种原因ionden的解决方案,我没有工作。

+1

原因是你可能输入了字符串到你的comboBox1中,而不是项目。 – baron 2015-04-21 10:51:57

+0

正确。 谢谢! – 2015-04-24 11:27:42

0

comboBox1.Text =“”;

这是将组合框设置恢复为默认设置而不擦除组合框内容的最佳和最简单的方法。

0

写代码如下:

comboBox1.Items[comboBox1.SelectedIndex] = string.Empty; 
1

都依赖于配置。 对我的作品

comboBox.SelectedIndex = -1; 

我的配置

DropDownStyle: DropDownList 

(文字不能为用户而改变)

2
nameofcombobox.SelectedItem=-1; 
-1

下面的代码将工作:

ComboBox1.SelectedIndex.Equals(String.Empty);