清除ComboBox中已选择的文本

34
我有一个下拉框控件,将DropDownStyle属性设置为DropDownList。选中某个项目后,如何清除ComboBox中的选择,而不删除其中任何项?
通常我会使用类似以下的代码:
myComboBox.Text.Clear();

但我做不到。有什么想法可以帮我清除它吗?

11个回答

81
你可以改变 SelectedIndex 属性:
comboBox1.SelectedIndex = -1;

1
我会尝试一下。-1索引将是“null”值吗? - phadaphunk
1
有趣的是,comboBox.ClearText() 和 comboBox.Text.Clear() 都不起作用,但是 comboBox.SelectedIndex = -1 却可以... 看来 API 部门需要进行一次访问。 - PandaWood

23

我能让它工作的唯一方法:

comboBox1.Text = "";

由于某些原因,ionden的解决方案对我没有起作用。


5
原因可能是您将字符串输入了comboBox1中而不是Items中。 - baron

10
这是你需要的:

comboBox1.ResetText();

意思是重置comboBox1中的文本。

3

一切都取决于配置。 对我来说起作用。

comboBox.SelectedIndex = -1;

我的配置
DropDownStyle: DropDownList

(对于用户来说,文本无法更改)


3
nameofcombobox.SelectedItem = -1;

0

如果您使用对象填充ComboBox,请尝试这个:

Combobox.SelectedItem = null;

-1
在C#中,如果您将comboBox的配置样式设置为DropDownListDropDown,则可以在此方法中同时使用它们进行清除。
ComboBox1.SelectedIndex = -1;

-1

comboBox1.Text = " ";

这是将您的comboBox设置回默认设置而不清除comboBox内容的最佳和最简单的方法。


-2

编写以下代码:

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

-2

尝试指定要擦除文本的项目的实际索引,并将其Text设置为""

myComboBox[this.SelectedIndex].Text = "";

或者

myComboBox.selectedIndex.Text = "";

我不记得确切的语法,但大致是这样的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接