2017-09-11 1 views
0

Pendant que je suis le débogage, la valeur de ex revient toujours 0.Nombre de ListBox sur une autre forme

Je ne peux pas modifier ou lire ListBox valeurs sur forme différente. J'ai deux formes ici. Comment puis-je résoudre ce problème?

Form1 eski = new Form1(); 
Form2 yeni = new Form2(); 

ListBox array = new ListBox(); 
int ex = eski.listBox5.Items.Count; 
for (int ix = 0; ix <= ex; ix++) 
{ 
    array.Items.Add(eski.listBox5.Items[ix]); 
} 
+0

Si 'ex' est zéro, c'est parce que' eski.listBox5.Items.Count' est zéro, et c'est parce que 'listBox5' sur' Form1' est vide. Où le peuplez-vous? Il devrait être temps de conception ou dans le constructeur Form1 pour que ce code fonctionne. – Blorgbeard

+0

Il y a 6 articles dans eski.listbox5 Je ne te comprends pas exactement –

+0

Comment les 6 articles arrivent-ils? – Blorgbeard

Répondre

0

Le problème sur votre code est celui-ci:

Form1 eski = new Form1(); 

Vous initialisez une nouvelle forme et ce code ne sera pas appeler le opened Form1 qui est en cours d'exécution sur votre application.

Vous devez le remplacer et le faire à la place:

var eski = Application.OpenForms.OfType<Form1>().SingleOrDefault(); 

Avec cela, vous pouvez maintenant accéder aux commandes que vous voulez.

+0

Je vais essayer ceci et vous revenir ici merci –

+0

Bon, si cela répond à votre question, vous pouvez l'accepter comme référence à d'autres. Merci! @ Onurİn –

+0

C'est génial ça marche :) Merci beaucoup qui était si important pour moi :) Donc parfois j'ai des questions comme ce nouveau développeur im je ne peux pas gérer tout facilement .. Pouvez-vous m'aider d'ici quand vous avez vu ma question:) –