2016-07-25 55 views
0

我已经尝试了很多次,有许多不同的方法。我无法获得填充的ComboBox如何将项目从C#中的不同窗体添加到组合框中#

public partial class Login : Form 
    { 
    public void populateTenants(dynamic tenants) 
     { 
      Form1 main = new Form1(); 
      foreach (dynamic tenant in tenants.tenants) 
      { 
       string tenantName=tenant.name; 
       main.addTenant(tenantName); 
      } 
     } 
    } 
public partial class Form1 : Form 
    { 
     public void addTenant(string item) 
     { 
      cbTenants.Items.Add(item); 
     } 
    } 

我能做到这一点,它的伟大工程:

public partial class Form1 : Form 
    { 
    public Form1() 
     { 
      InitializeComponent(); 
      cbTenants.Items.Add("Test"); 
     } 
    } 

而且我可以这样做:

public partial class Form1 : Form 
    { 
    public void addTenant(string item) 
     { 
      MessageBox.Show(item); 
     } 
    } 

我也得到一个提示消息吨的。

+1

第一代码片段应该工作。问题是,'main.Show'调用在哪里? –

回答

0

您可以制作第一个Form的组合框'Modifires'Private to Public,并且可以将其他形式的项目制作为简单的foreach循环;

你可以得到物品:

Form1 frm = new Form1(); 
foreach (string item in frm.comboBox1.Items) 
{ 
    comboBox1.Items.Add(item); 
} 

就像这个...

+0

我试过这个,它没有添加对象到组合框。 我可以添加项目如果我在同一个窗体上添加一个按钮并单击它... 但是来自另一个窗体...它根本不起作用。 还有其他建议吗? –

相关问题