Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何清除组合框?_C#_Winforms_Combobox - Fatal编程技术网

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();