-2

我错过了什么?
form1.cs中的方法:

public partial class Form1 : Form  
{  
    ...  
    public void DoSomething()  
      {  
            <Database call to update a list on Form1>  
      }  
      ...  
}  

从用户控件:

public partial class UserControl1 : UserControl  
{  
      ...  
      private void UserControl1_Load(object sender, EventArgs e)  
      {  
            Form1.DoSomething();  
      }  
      ...  
}  

我无法访问该方法。我尝试使用“ Form1 frm = new Form1()”,当我尝试使用frm.DoSomthing()它但实际上并没有更新列表时,我知道更新代码有效并且我知道有数据,因为我测试过。我认为我的问题是“NEW”关键字正在制作不同的对象而不是更新原始对象。

4

1 回答 1

2

UserControl 不应该能够访问 Form1 上的方法。您可能想要做的是在您的 UserControl 上触发 Form1 正在侦听并更新列表的事件。在不了解您的架构和实际情况的情况下,很难为您提供更具体的建议。

于 2013-05-07T20:30:13.630 回答