从winform应用程序的组合框中删除所选项目
本文关键字:删除 选项 项目 winform 应用程序 组合 | 更新日期: 2023-09-27 17:58:48
我正在开发windows窗体应用程序。。
我有两个组合框。。我已将组合框drop down style
属性更改为DropDownList
保存数据后,我想清除组合框中的项目。。所以我给出了这样的代码:
CmbDepartment.Text = "";
cmbvisitpurpose.Text = "";
但这并不是从我的组合框中清除所选项目。。所以我改了这样的代码:
cmbvisitpurpose.Items.RemoveAt(cmbvisitpurpose.SelectedIndex = -1)
CmbDepartment.Items.RemoveAt(CmbDepartment.SelectedIndex = -1)
这是从我的组合框中永久删除特定项目。。如果我想获得组合框中的所有项目。。agian我想加载页面。。我只想清除所选项目。。我该怎么做?
这只会从组合框中删除,而不会从数据源中删除。
如果您想保留这些项目,最好使用本地集合。
CmbDepartment.Items.Remove(CmbDepartment.SelectedItem);
以下是关于如何将值分配给集合的示例
List<string> DepartmentsPermanent;
List<string> DepartmentsTemporary;
public Form1()
{
InitializeComponent();
DepartmentsPermanent = new List<string>();
DepartmentsPermanent.Add("EEE");
DepartmentsPermanent.Add("CSE");
DepartmentsPermanent.Add("E&I");
DepartmentsPermanent.Add("Mechanical");
comboBox1.DataSource = DepartmentsPermanent;
//here you assign the values to other List
DepartmentsTemporary = DepartmentsPermanent.ToList();
}
//Now if you have selected EEE from the list and you want to remove on selection
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedItem != null && DepartmentsTemporary != null)
{
DepartmentsTemporary.Remove(comboBox1.SelectedItem.ToString());
comboBox1.DataSource = DepartmentsTemporary;
}
//If you want to assign the default values again you can just assign the PermanentList
//comboBox1.DataSource = DepartmentsPermanent;
}
如果要清除所选项目,应将ComboBox.SelectedIndex
属性设置为-1
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindex%28v=vs.110%29.aspx
实现这一点的一种方法是:
ComboBox1.SelectedItem = null;
我想这个方法不仅删除了文本,而且删除了整个项目。