2015-04-26 2 views
0

Je veux transférer des données de Form2 dans Form1listBox1. Form2 comprend plusieurs zones de texte,Ajouter la liste <object> à listBox (form2 à form1)

J'ai essayé de faire face à ce problème en plaçant tout ce code dans Form1 mais je ne peux pas obtenir les valeurs nécessaires de Form2.

Quelqu'un peut-il aider, je comprends que je ne suis pas très clair, mais je peux répondre à vos questions sur le code.

private void button3_Click(object sender, EventArgs e) 
{ 
    List<Form1Other> FileList = new List<Form1Other>(); 
    Form1Other[] f1Other = new Form1Other[10]; 
    Form1 testForm1 = new Form1(); 

    string TName = textBox1.Text; 
    string TDesc = textBox2.Text; 
    decimal TPrior = numericUpDown1.Value; 
    string TDate = dateTimePicker1.Value.ToShortDateString(); 
    string TCompl = "UNFINISHED"; 

    FileList.Add(new Form1Other(TName, TDesc, TPrior, TDate, TCompl)); 

    testForm1.listBox1.Items.Add(FileList[0].tName); 
    testForm1.listBox1.Items.Add(FileList[0].tDesc); 
    testForm1.listBox1.Items.Add(FileList[0].tPrior); 
    testForm1.listBox1.Items.Add(FileList[0].tDate); 
    testForm1.listBox1.Items.Add(FileList[0].tCompl); 
    System.Diagnostics.Debug.WriteLine(FileList[0].tDesc); 
+0

Vous voulez que les données de Form2 dans Form1? Sont-ils des classes différentes? Si oui, pouvez-vous définir une propriété publique dans form2 puis l'obtenir dans form1? –

+0

Où dans votre exemple de code est 'Form2'? Qu'est-ce que 'Form1Other'? A quoi sert-il de récupérer les valeurs d'une nouvelle instance de 'Form1Other'? C'est à dire. comment les valeurs de _its_ ont-elles été initialisées? Si le code que vous avez posté est déjà dans Form1, pourquoi créez-vous une nouvelle instance de Form1? Pourquoi récupérez-vous des valeurs à partir des contrôles dans le formulaire actuel (que vous dites est «Form1»), plutôt que d'une instance de «Form2»? Vous avez raison ... votre question est loin d'être claire. Vous aurez besoin de l'améliorer ** beaucoup ** pour obtenir une bonne réponse. –

+0

** Note: ** cette question en double a été posée/répondue il y a longtemps et depuis, de nombreuses autres questions similaires ont été posées et ont été répondues. Mais celui-là est assez bon pour ce qu'il en est; Je viens d'ajouter une nouvelle réponse pour élaborer un commentaire que quelqu'un d'autre a fait sur la réponse acceptée, pour montrer une stratégie alternative. Dans votre scénario, l'une ou l'autre de ces réponses devrait s'appliquer. Notez que les deux supposent que, à un certain point, un objet de formulaire a une référence à l'autre; vous n'avez pas envoyé assez de code ici pour que quelqu'un vous suggère comment faire cela dans votre cas, mais cela ne devrait pas être difficile pour vous de comprendre –

Répondre

-1

Vous avez probablement besoin d'un mécanisme de messagerie/d'événement de sorte que vous puissiez communiquer entre différents affichages/formulaires.

Vous devez soit mettre en œuvre le vôtre en utilisant une file d'attente et publier/souscrire. System.Messaging

Ou utilisez-en une qui est déjà implémentée.

Quelques noter que j'utiliser sont: