2012-02-17 61 views
37

我有一些设置为下拉列表的组合框,用户可以在其中选择一个数字。我也有一个清除按钮,应该清除组合框中的文本,但我似乎无法得到它。我已经试过:如何清除组合框?

//doesn't work 
cboxHour.Text = ""; 

//doesn't work 
cboxHour.ResetText(); 

这似乎应该是这样直截了当,但我只是没有得到它。

+0

可能重复(http://stackoverflow.com/questions/2458928/how-to-clear-combo-box-contents-in-vb-净值) – 2012-02-17 02:42:49

回答

75

你试过cboxHour.Items.Clear()

+1

这是胜利者。我会尽可能将您标记为所选的答案。 – 2012-02-17 01:57:36

+4

如果你的comboBox数据有界,那么在清除之前设置comboBoxName.DataSource = null – 2016-10-19 13:40:57

+0

这可能是不够的。以下面的@beanmf回答调用ResetText()可能也是必需的。 – 2017-11-16 20:18:18

49

如果你只是想清除当前的选择,但保留所有在列表中的项目,你可以使用:

cboHour.SelectedIndex = -1 
+4

当我使用这个时,selectedIndexChanged事件触发。在SelectedIndexChanged事件中,我返回Eventif SelectedIndex为-1。 – 2013-12-17 20:27:29

3
cboxHour.Items.Clear(); 

这个作品

+1

你能稍微扩展你的答案吗?如果你能为你的答案提供一点背景,这很好。 – 2013-05-28 23:02:25

+0

展开什么?清除组合框很简单。 – Denny 2016-12-10 16:02:34

10

您可以使用

Cbo.Items.Clear(); 

Cbo.DataSource = null; 

如果你有一个绑定它。

+0

加上考虑DataSource的投票。 – Aki 2015-01-06 11:13:06

0

组合框,DropDown都具有相同的逻辑来清除/删除它们的所有项目,如下所示。

//For checkbox list 
cblTest.Items.Clear(); 

//For drop down list 
ddlTest.Items.Clear(); 
16

当组合框不是数据绑定,我发现我需要两个:清除()删除了这些项目,但仍保留着的SelectedItem的文本,而ResetText()删除该文本。 VS2008。

Cbo.Items.Clear(); 
Cbo.ResetText(); 
+0

同意上述内容。我在VS2013中遇到了同样的问题,其中4个调用Items.Clear(),SelectedIndex = -1,SelectedText = string.empty和SelectedText = string.empty不足。 Items.Clear()后面跟着ResetText()这个技巧。 – 2017-11-16 20:16:38

2

如果您应用的数据源组合框,那么就不会被清除为cmb.Items.Clear()

为此,您必须将数据源null分配给组合框。

cmb.DataSource = null; 
cmb.Items.Clear(); 
-1

煤矿工作过:

ComboBox.removeAllItems(); 

如果不读那么好它,删除所有项目。

0
private void Resetbtn_Click(object sender, EventArgs e) 
{  
    comboBox1.Items.Clear(); // it will clear a combobox 

    comboBox1.Items.Add("Student"); //then add combobox elements again. 
    comboBox1.Items.Add("Staff"); 
} 
4

回答你的问题是:

metroComboBox1.SelectedItem = null; 
anycomboBox1.SelectedItem=null; 
+0

combox.items.clear()从列表中删除项目,同时将所选项目设置为null将清除所选数据。优秀。谢谢。 – kakkarot 2016-01-07 08:52:15

0

在WPF中你可以试试这个代码

cbHours.Items.Clear();

0

我刚才已经改变了组合框的文本,像这样:

Combobox.Text = "Select..."; 
+1

这会更改文本部分中的内容,而不会根据请求清除组合框。您的回复假定“Select ...”是那里的默认值。是否解决了问题后,您也不会说 – Fabulous 2017-07-11 23:04:37

0

您可以尝试清除所选文本,并从组合框的所有项目下面的选项。

comboBox1.SelectedIndex = -1; 
comboBox1.Items.Clear(); 
的【如何清除vb.net组合框中内容]