获取ComboBox的先前值

sms*_*are 8 c# winforms

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

问题是,我的表格中,有四个列表和组合框(其中包含从列表中的所有值),我想重新填充组合框的值返回到它取自然后删除新选择的项目列表来自其他/相同的名单.

Jon*_*art 16

你想要处理这个ComboBox.Enter事件.然后保存SelectedItemSelectedValue删除成员变量.无论何时,您都可以将该值重新分配给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;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 完全没有......他们只是一个回调函数.只要某件事发生,控件就会"回调"给你告诉它的函数.现在学习使用它们,因为它们是WinForms的关键部分(通常是c#,真的) (3认同)
  • 现在我爱上了 C# 的设计,所以我相信制造商让它们变得至关重要......:) (2认同)