获取ComboBox的先前值

时间:2012-07-16 00:34:06

标签: c# winforms

我希望我的应用程序获取ComboBox的值,然后设置用户选择的值或以某种方式获取先前选择的值。

问题是在我的表单中,有四个列表和一个ComboBox(包含列表中的所有值),我想将ComboBox的值重新填充回它的列表,然后删除来自其他/相同列表的新选项。

1 个答案:

答案 0 :(得分:16)

您想要处理ComboBox.Enter事件。然后将SelectedItemSelectedValue保存到成员变量中。无论何时,您都可以将该值重新分配给ComboBox。

注册活动。您可以通过以下两种方式之一完成此操作:

通过设计师完成。选择您的组合框。在“属性窗口”中,单击闪电图标以显示其所有事件。然后找到“Enter”,并在框中双击。它将自动为您生成回调函数(“事件处理程序”),并将其连接到事件。

enter image description here

enter image description here

您可以以编程方式执行相同的操作。在构造函数中,挂钩正确签名的事件处理程序:

public partial class Form1 : Form 
{
    public Form1()
    {
        InitializeComponent();
        comboBox1.Enter += comboBox1_Enter;
    }

    private void comboBox1_Enter(object sender, EventArgs e)
    {
        m_cb1PrevVal = comboBox1.SelectedValue;
    }

    private void RestoreOldValue()
    {
        comboBox1.SelectedValue = m_cb1PrevVal;
    }
}