c# - 获取 ComboBox 的先前值

标签 c# winforms

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

事情是在我的表单中,有四个列表和一个 ComboBox(其中包含列表中的所有值),我想将 ComboBox 的值重新填充回从中获取的列表,然后删除从其他/相同列表中新选择的项目。

最佳答案

您想处理 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;
    }
}

关于c# - 获取 ComboBox 的先前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496860/

相关文章:

mysql - 使用 Visual Basic 在 mysql 中保存 blob

c# - 计算与特定日期相关的 mysql 数据库中的多个值

c# - 如何将 List<AnonymousType#1> 转换为 List<Model>?

c# - 具有序列 ID 的线程安全固定大小循环缓冲区

c# - TableLayoutPanel 的控制列属性

c# - 我的 id 不为空,为什么会收到运行时错误?

winforms - 使用 Ninject 和 Entity Framework 在 WinForms 中进行依赖注入(inject)

c# - 如何从Azure Function更新服务总线消息?

c# - 对 DataTable 字符串列进行排序,但底部为空/空

c# - sql server 和 c# 中的输出参数问题