2015-08-28 62 views
0

我在這裏有一個代碼,但它並沒有通過調用cmb_lod();C#調用方法來刷新我的組合框

Form1是我的組合框創建

的方法工作,我想從另一個 form刷新我的組合框
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(); 
} 
+2

這裏會出錯嗎?有什麼例外? – Slashy

+0

完成此項目:https://drive.google.com/file/d/0B893d39kVeIvcGhjUG80ZG05OWc/edit –

回答

0

問題後刷新我的組合框在第二種形式中,您正在創建第一種形式的NEW實例,然後在其上刷新組合框。這第二例與第一例無關。你需要做的是獲得對原始第一個表單的引用並調用它的方法。一種方式是在第一種形式:

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

,然後在第二個表格:

frmManipulateClass.Current.cmb_load(); 

如果打開第一種形式的只是一個實例這是唯一有用的。