c#从另一种形式调用方法来刷新我的组合框

时间:2015-08-28 11:03:49

标签: c# combobox

我在这里有一段代码,但它没有用,我想通过调用方法form

从另一个cmb_lod();刷新我的组合框

Form1是我创建的组合框

public void cmb_load()
{
    try
    {
        con.Open();
        cmd = new SqlCommand("SELECT subjectCode FROM Subjects", con);
        reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            cmbSubjects.Items.Add(reader[0].ToString());
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    con.Close();
}

Form2我想在添加值

后刷新我的组合框
private void btnRefresh_Click(object sender, EventArgs e)
{
    frmManipulateClass mc = new frmManipulateClass();
    mc.cmb_load();
}

1 个答案:

答案 0 :(得分:0)

问题在于,在第二种形式中,您要创建第一个表单的新实例,然后刷新其上的组合框。第二个实例与第一个实例无关。您需要做的是获取对原始第一个表单的引用并在其上调用该方法。一种方式是第一种形式:

public static frmManipulateClass Current {get; private set;}
public frmManipulateClass()
{
    Current = this;
}

然后以第二种形式:

frmManipulateClass.Current.cmb_load();

这仅在您打开第一个表单的单个实例时才有用。