2016-07-25 7 views
0

Ich habe dies viele Male versucht, viele verschiedene Möglichkeiten. Und ich kann die ComboBox nicht erreichen.So fügen Sie Elemente zu einer ComboBox von einem anderen Formular in 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); 
     } 
    } 

Ich kann dies tun und es funktioniert super:

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

Und ich kann dies tun:

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

Und ich eine Tonne von Message bekommen.

+1

Der erste Code-Snippet funktionieren sollte. Die Frage ist jedoch, wo ist der 'main.Show' Aufruf? –

Antwort

0

Sie können die Combobox 'Modifires' des ersten Formulars 'Private to Public' erstellen und Elemente anderer Formen als einfache foreach-Schleife abrufen.

Sie können Einzelteile erhalten:

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

So ...

+0

Ich habe das versucht und es fügt kein Objekt zur Combobox hinzu. Ich kann Elemente hinzufügen, wenn ich eine Schaltfläche auf dem gleichen Formular hinzufügen und klicken Sie darauf ... Aber aus einem anderen Formular ... Es funktioniert überhaupt nicht. Irgendwelche anderen Vorschläge? –