如何清除组合框?

Fuz*_*ans 51 c# combobox winforms

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

 //doesn't work
 cboxHour.Text = "";
Run Code Online (Sandbox Code Playgroud)

//doesn't work
cboxHour.ResetText();
Run Code Online (Sandbox Code Playgroud)

这似乎应该是如此直接,但我只是没有得到它.

Dan*_*ann 106

你试过cboxHour.Items.Clear()吗?

  • 如果您的comboBox是数据限制,则在清除之前设置comboBoxName.DataSource = null (10认同)
  • 那是赢家。我会尽可能将您标记为所选答案。 (2认同)

Han*_*ood 67

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

cboHour.SelectedIndex = -1
Run Code Online (Sandbox Code Playgroud)

  • 当我使用它时,selectedIndexChanged事件触发.在SelectedIndexChanged事件中,我返回的eventif SelectedIndex是-1. (4认同)

bea*_*nmf 19

当comboBox不是数据绑定时,我发现我需要两个:Clear()删除项目但仍然保留SelectedItem的文本,而ResetText()删除该文本.VS2008.

Cbo.Items.Clear();
Cbo.ResetText();
Run Code Online (Sandbox Code Playgroud)


小智 14

您可以使用

Cbo.Items.Clear();
Run Code Online (Sandbox Code Playgroud)

要么

Cbo.DataSource = null;
Run Code Online (Sandbox Code Playgroud)

如果你有约束力.


小智 7

你的问题的答案是:

metroComboBox1.SelectedItem = null;
anycomboBox1.SelectedItem=null;
Run Code Online (Sandbox Code Playgroud)


use*_*339 5

cboxHour.Items.Clear();
Run Code Online (Sandbox Code Playgroud)

这有效


小智 5

如果您已将数据源应用于组合框,则它不会被清除为cmb.Items.Clear().

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

cmb.DataSource = null;
cmb.Items.Clear();
Run Code Online (Sandbox Code Playgroud)