C# 如何清除组合框?
我有一些组合框,设置为下拉列表,用户可以从中选择一个数字。我还有一个清除按钮,可以清除组合框中的文本,但我似乎无法得到它。我试过:C# 如何清除组合框?,c#,winforms,combobox,C#,Winforms,Combobox,我有一些组合框,设置为下拉列表,用户可以从中选择一个数字。我还有一个清除按钮,可以清除组合框中的文本,但我似乎无法得到它。我试过: //doesn't work cboxHour.Text = ""; 及 这似乎应该是直截了当的,但我就是不明白 您是否尝试过cboxHour.Items.Clear()?如果您只想清除当前选择,但保留列表中的所有项目,您可以使用: cboHour.SelectedIndex = -1 这是有效的您可以使用 Cbo.Items.Clear(); 或 如果您
//doesn't work
cboxHour.Text = "";
及
这似乎应该是直截了当的,但我就是不明白 您是否尝试过
cboxHour.Items.Clear()
?如果您只想清除当前选择,但保留列表中的所有项目,您可以使用:
cboHour.SelectedIndex = -1
这是有效的您可以使用
Cbo.Items.Clear();
或
如果您有一个绑定。组合框,下拉列表中的所有项都具有相同的逻辑来清除/删除其中的所有项,如下所示
//For checkbox list
cblTest.Items.Clear();
//For drop down list
ddlTest.Items.Clear();
当
组合框
没有数据绑定时,我发现我需要这两个选项:Clear()
删除项目,但仍然保留SelectedItem
的文本,而ResetText()
删除该文本VS2008
ComboBox.Items.Clear();
ComboBox.ResetText();
如果已将数据源应用于combobox,则不会将其清除为
cmb.Items.Clear()
为此,必须将数据源null
分配给combobox
cmb.DataSource = null;
cmb.Items.Clear();
我的工作是:
ComboBox.removeAllItems();
如果它读得不好,请删除所有项目 您的问题的答案是:
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");
}
metroComboBox1.SelectedItem = null;
anycomboBox1.SelectedItem=null;
在WPF中,您可以尝试以下代码
cbHours.Items.Clear() 我刚刚更改了组合框的文本,如下所示:
Combobox.Text = "Select...";
您可以尝试使用以下选项清除组合框中的选定文本和所有项目
comboBox1.SelectedIndex = -1;
comboBox1.Items.Clear();
如果您的组合框有值绑定部分。使用以下代码清除其值:
cboxHour.SetSelectedIndex(-1);
使用:
一切都结束了
Docs:ComboBox.ResetText方法(命名空间:System.Windows.Forms)
当我添加了
ComboBox.Focus()
那是赢家。如果可以,我会将您标记为所选答案。如果您的comboBox是数据绑定的,则在清除之前设置comboBoxName.DataSource=null这可能不够。可能还需要调用下面@beanmf回答的ResetText()。如果使用组合框的“DataSource”属性,则必须按如下方式分配null:modeComboBox.DataSource=null;(modeComboBox.DataSource=newbindingsource(dict,null);)的可能重复项您能对您的答案进行一点扩展吗?如果您能为您的答案提供一点上下文,那就太好了。当我使用此选项时,selectedIndexChanged事件将触发。在SelectedIndexChanged事件中,如果SelectedIndex为-1,则返回事件。combox.items.clear()将从列表中删除项目,同时将所选项目设置为null将清除所选数据。杰出的谢谢。如果您在将索引设置为-1时遇到问题,请尝试将selecteditem设置为null或nothing。这对我很有效,这才是真正的答案。它还解决了我在.ResetText中遇到的一个问题-然后,我就不能再以编程方式重新加载选择了。但是.SelectedItem=null起作用。杰出的非常感谢。这会更改文本部分中的内容,而不会按要求清除组合框。您的回答假定“选择…”是其中的默认值。你也不会说在你做了之后,它是否解决了上面商定的问题。我在VS2013中遇到了同样的问题,其中4个调用Items.Clear()、SelectedIndex=-1、SelectedText=string.empty和SelectedText=string.empty不足。Items.Clear()后跟ResetText()就成功了。虽然这段代码可能解决了这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。
Combobox.Text = "Select...";
comboBox1.SelectedIndex = -1;
comboBox1.Items.Clear();
cboxHour.SetSelectedIndex(-1);
comboBox1.ResetText();
ComboBox.Items.Clear();
ComboBox.ResetText();
ComboBox.Focus();