我有一个列表框,带有2个按钮,新建和删除。新增项目到列表框中,删除按钮应该从列表框中删除项目。列表框项目与从下面的文本框中存储用户输入数据的类绑定。列表框删除
private void AddListBox()
{
lstCondition.BeginUpdate();
Condition cond = new Condition("");
cond.Name = string.Format("Condition {0}", _selection.NetConditions.Count + 1);
_selection.NetConditions.Add(cond);
lstCondition.EndUpdate();
lstCondition.SelectedItem = cond;
cboNetCondition.Properties.Items.Clear();
cboNetCondition.Properties.Items.AddRange(NetCondition);
cboControlType.Properties.Items.Clear();
cboControlType.Properties.Items.AddRange(ControlType);
cboFlowRate.Properties.Items.Clear();
cboFlowRate.Properties.Items.AddRange(FlowRate);
}
private void btnNew_Click(object sender, EventArgs e)
{
AddListBox();
}
cbo项目是组合框,其数据在条件类中绑定到列表框的每个实例。
public frmNetConditions(Condition condo, Selection selection)
{
InitializeComponent();
_selection = selection;
lstCondition.DataSource = _selection.NetConditions;
condition = _selection.NetConditions.Count;
}
private void btnDelete_Click(object sender, EventArgs e)
{
selectedCondition = (Condition)lstCondition.SelectedItem;
cboControlType.SelectedIndex = -1;
cboNetCondition.SelectedIndex = -1;
cboFlowRate.SelectedIndex = -1;
txtFlowRate.Text = string.Empty;
txtStatPressure.Text = string.Empty;
txtDampOpening.Text = string.Empty;
txtDensity.Text = string.Empty;
cboDensity.SelectedIndex = -1;
lstCondition.Items.Remove(lstCondition.SelectedItem);
lstCondition.Refresh();
}
按下这个删除按钮后,列表框仍然包含我想删除的项目,我不确定这是为什么?
更新与数据源
public List<Condition> NetConditions { get { return _netconditions; } }
你可以发布与你的列表框相关的整个代码吗? – Alexei
你是否将你的列表绑定到列表或类似的东西? –
Alexei
'lstCondition'似乎不会填充,但您尝试分配其SelectedItem。 – Alexei