我希望我的应用程序获取ComboBox的值,然后设置用户选择的值或以某种方式获取先前选择的值。
问题是在我的表单中,有四个列表和一个ComboBox(包含列表中的所有值),我想将ComboBox的值重新填充回它的列表,然后删除来自其他/相同列表的新选项。
答案 0 :(得分:16)
您想要处理ComboBox.Enter
事件。然后将SelectedItem
或SelectedValue
保存到成员变量中。无论何时,您都可以将该值重新分配给ComboBox。
注册活动。您可以通过以下两种方式之一完成此操作:
通过设计师完成。选择您的组合框。在“属性窗口”中,单击闪电图标以显示其所有事件。然后找到“Enter”,并在框中双击。它将自动为您生成回调函数(“事件处理程序”),并将其连接到事件。
您可以以编程方式执行相同的操作。在构造函数中,挂钩正确签名的事件处理程序:
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;
}
}