2012-02-17 59 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組合框中內容]