.net 清除组合框数据源项

.net 清除组合框数据源项,.net,winforms,compact-framework,.net,Winforms,Compact Framework,Combobox数据源已分配给 cmbCombobox.DataSource = myCollection 其中myCollection的类型为myCollection:List 如何清除组合框中的项目?在asp.net中,可以执行以下操作: cbMyComboBox.Items.Clear(); 可能它可以工作,对于winforms)不确定当您绑定控件时,它将与该集合同步。为了清除组合框中的项目,请将其数据源设置为null cmbComboBox.DataSource = null; 如

Combobox数据源已分配给

cmbCombobox.DataSource = myCollection
其中myCollection的类型为myCollection:List


如何清除组合框中的项目?

在asp.net中,可以执行以下操作:

cbMyComboBox.Items.Clear();

可能它可以工作,对于winforms)不确定当您绑定控件时,它将与该集合同步。为了清除组合框中的项目,请将其数据源设置为null

cmbComboBox.DataSource = null;
如果您的组合框不是数据绑定(无数据源),那么您可以这样做

cmbComboBox.Items.Clear();


这对我有用。VB错误地建议使用DBNull(会崩溃)。

我正在使用Visual Studio 2012和.net v4.5,并且正在VB中创建winforms。以下各项不起作用:

me.combobox.Datasource = null
me.combobox.Items.clear()
使用Null甚至不是数据源的选项,我在尝试items.clear()时遇到以下错误:;“设置DataSource属性时,无法修改Items集合。”

以下内容确实有效,我已经在许多应用程序升级中使用了它

Me.cmboFromLoc.DataSource = Nothing

以下是它对我的作用:

如果您的组合框有一个数据源,那么简单地分配给一个空数据源就足够了。但是,很多时候您必须手动清除绑定:

comboBoxAssignee.DataSource=null

comboboxAssignment.DataBindings.Clear()

如果没有数据源,则只需清除以下项:

comboboxAssignment.Items.Clear()


Items.Clear()不起作用。在WinForms cmbCombobox.DataSource=myEmptyCollectionhellboy中,您的解决方案不会清除这些项,只是将其设置为另一个sourcetry
cbMyComboBox.DataSource=null
后跟
cbMyComboBox.Items.Clear()
请注意,将
DataSource
设置为
null
似乎也会将
DisplayMember
ValueMember
设置为默认值(我猜为null),因此如果您自定义了这些值,那么您可能必须重新配置它们。感谢MicroFailSoft提供的糟糕文档和不可预测的行为
me.combobox.Datasource=null
在C#NET中,这也符合用户的问题。任何使用VB.NET或C#.NET编程的人都应该能够阅读/翻译其他语言的答案。而且,应该删除。
Me.cmboFromLoc.DataSource = Nothing