在c#中从另一个表单更新组合框

本文关键字:更新 组合 表单 另一个 | 更新日期: 2023-09-27 18:07:16

我想从另一个表单更新主表单的组合框这是我的主要表单组合框更新代码在form_load

public void main_Load(object sender, EventArgs e)
{
    try
    {
        OleDbDataAdapter db = new OleDbDataAdapter("select * from category", con);
        ds_cmbGroup.Clear();
        cmbGroup.DataSource = null;
        db.Fill(ds_cmbGroup, "t1");
        cmbGroup.DisplayMember = "catname";
        cmbGroup.ValueMember = "catcode";
        cmbGroup.DataSource = ds_cmbGroup.Tables["t1"];
    }
    catch (Exception ex)
    {
    }
}
当我以自己的形式调用

时,它会正确运行。这是调用它的代码:

main_Load(this, null);

但是当我从另一种形式调用它时,(尽管数据集更新没有问题)它不会改变组合框(cmbGroup)内容下面是从第二个表单加载main_Load方法的代码:

main Main = new main();
Main.main_Load(this, null);

Thanks in Advance

在c#中从另一个表单更新组合框

问题是你没有引用主表单的当前实例,但你创建了一个新的实例,在第二个表单尝试:

 Main  obj = (Main)Application.OpenForms["Main"];
然后用obj指代main Form