我在这里有一段代码,但它没有用,我想通过调用方法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();
}
答案 0 :(得分:0)
问题在于,在第二种形式中,您要创建第一个表单的新实例,然后刷新其上的组合框。第二个实例与第一个实例无关。您需要做的是获取对原始第一个表单的引用并在其上调用该方法。一种方式是第一种形式:
public static frmManipulateClass Current {get; private set;}
public frmManipulateClass()
{
Current = this;
}
然后以第二种形式:
frmManipulateClass.Current.cmb_load();
这仅在您打开第一个表单的单个实例时才有用。