如何清除组合框?
Posted
技术标签:
【中文标题】如何清除组合框?【英文标题】:How do I clear a combobox? 【发布时间】:2012-03-08 11:23:32 【问题描述】:我有一些设置为下拉列表的组合框,用户可以在其中选择一个数字。我还有一个清除按钮,应该清除组合框中的文本,但我似乎无法得到它。我试过了:
//doesn't work
cboxHour.Text = "";
和
//doesn't work
cboxHour.ResetText();
这似乎应该如此直截了当,但我就是不明白。
【问题讨论】:
How to clear combo box contents in vb.net 的可能重复项 【参考方案1】:你试过cboxHour.Items.Clear()
吗?
【讨论】:
这是赢家。我会尽可能将您标记为已选择的答案。 如果你的组合框是数据有界的,那么在清除之前设置comboBoxName.DataSource = null 这可能不够。可能还需要调用下面@beanmf 回答的 ResetText()。 如果使用组合框的“DataSource”属性,我们必须按如下方式分配 null:modeComboBox.DataSource = null; (modeComboBox.DataSource = new BindingSource(dict, null);)【参考方案2】:如果您只想清除当前选择,但保留列表中的所有项目,您可以使用:
cboxHour.SelectedIndex = -1
【讨论】:
当我使用它时, selectedIndexChanged 事件会触发。在 SelectedIndexChanged 事件中,如果 SelectedIndex 为 -1,我会从事件中返回。【参考方案3】:当ComboBox
不是数据绑定时,我发现我需要两者:Clear()
删除项目但仍保留SelectedItem
的文本,而ResetText()
删除该文本。 VS2008。
ComboBox.Items.Clear();
ComboBox.ResetText();
【讨论】:
同意以上。我在 VS2013 中遇到了同样的问题,其中 4 个调用 Items.Clear()、SelectedIndex=-1、SelectedText=string.empty 和 SelectedText=string.empty 是不够的。 Items.Clear() 后跟 ResetText() 成功了。【参考方案4】:你可以使用
Cbo.Items.Clear();
或
Cbo.DataSource = null;
如果你有绑定。
【讨论】:
【参考方案5】:您的问题的答案是:
metroComboBox1.SelectedItem = null;
anycomboBox1.SelectedItem=null;
【讨论】:
combox.items.clear() 从列表中删除项目,而将所选项目设置为 null 会清除所选数据。优秀。谢谢。 如果您在将索引设置为 -1 时遇到问题,请尝试将 selecteditem 设置为 null 或无。这对我有用。 这才是真正的答案。它还解决了我在使用 .ResetText 时遇到的问题——然后,我无法再以编程方式重新加载选择。但是 .SelectedItem = null 可以解决问题。优秀!谢谢!【参考方案6】:cboxHour.Items.Clear();
这行得通
【讨论】:
你能扩展你的答案吗?如果您可以为您的答案提供一些背景信息,那就太好了。【参考方案7】:如果你已经将数据源应用到组合框,那么它不会被清除为cmb.Items.Clear()
。
为此,您必须将数据源null
分配给组合框。
cmb.DataSource = null;
cmb.Items.Clear();
【讨论】:
【参考方案8】:如果您的组合框有值绑定部分。使用以下代码清除其值:
cboxHour.SetSelectedIndex(-1);
【讨论】:
【参考方案9】:用途:
comboBox1.ResetText();
它已经完成了。
文档:ComboBox.ResetText 方法(命名空间:System.Windows.Forms) https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.combobox.resettext?view=netframework-4.8
【讨论】:
虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案添加解释并说明适用的限制和假设。【参考方案10】:我的合作伙伴:
ComboBox.removeAllItems();
如果它读得不好,请删除所有项目。
【讨论】:
【参考方案11】:Combo Box、DropDown 都具有相同的逻辑来清除/删除其中的所有项目,如下所示。
//For checkbox list
cblTest.Items.Clear();
//For drop down list
ddlTest.Items.Clear();
【讨论】:
【参考方案12】: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");
【讨论】:
【参考方案13】:在WPF中你可以试试这段代码
cbHours.Items.Clear();
【讨论】:
【参考方案14】:您可以尝试以下选项来清除 ComboBox 中的选定文本和所有项目。
comboBox1.SelectedIndex = -1;
comboBox1.Items.Clear();
【讨论】:
【参考方案15】:当我添加ComboBox.Focus()
时,这对我有用
ComboBox.Items.Clear();
ComboBox.ResetText();
ComboBox.Focus();
【讨论】:
【参考方案16】:>它对我的工作:
ComboCapacity.DataSource = null;
ComboCapacity.Items.Clear();
ComboCapacity.ResetText();
【讨论】:
【参考方案17】:我刚刚更改了组合框的文本,如下所示:
Combobox.Text = "Select...";
【讨论】:
这会更改文本部分中的内容,并且不会按要求清除组合框。您的回复假定“选择...”是那里的默认设置。你也不会说你做了之后是否解决了问题以上是关于如何清除组合框?的主要内容,如果未能解决你的问题,请参考以下文章
单击保存按钮后如何在用户窗体中添加依赖于另一个组合框的excel vba组合框而不影响清除数据功能
EXTJS:如何在组合框上自动完成查询后从数据存储中清除“查询”参数