Comment ajouter des éléments à une zone de liste à partir d'un autre formulaire?

Je suis en train d'ajouter un nouvel élément à une liste dans form1 à partir de form2. L'idée derrière cela est de se retrouver avec une liste d'éléments différents, chacun étant différents les uns des autres (ou les mêmes, et n'importe pas), basé sur la form2 activité. Dire que j'ai ouvert form1 (et il a de nombreux magasins de liste (listbox))et j'ai ouvert form2 et cliquez sur le bouton qui permettrait d'ajouter "bannana" à la liste dans form1. Comment dois-je faire? J'ai essayé diverses façons telles que l'ajout de "addToList(paramètre)" méthode de la form1 et puis l'appeler à partir de form2 et passage de paramètres, mais la liste reste vide cependant d'autres choses telles que la boîte de message pop up etc. Ainsi, toutes les idées comment résoudre ce problème?

Je suis à l'aide de cette méthode dans le formulaire pour ajouter les éléments dans la liste et ça fonctionne:

public void addToList()
{
    MessageBox.Show("Adding stuff to list");
    listEvent.Items.Add("New item 1");
    listEvent.Items.Add("new item 2");
    MessageBox.Show("Done adding");
    listEvent.Refresh();
}

Maintenant quand j'essaye de l'appeler à partir d'une autre classe/forme que j'utilise ceci:

public void changeForm()
{
    EventPlanner mainEventForm = new EventPlanner();
    mainEventForm.addToList();
}

Ou:

private void btnAddEvent_Click(object sender, EventArgs e)
{
    EventPlanner mainEventForm = new EventPlanner();
    mainEventForm.addToList();
}

Mais il ne marche pas encore. Bien que quand je l'utilise à partir form1 (eventplanner, où la liste est), il fonctionne parfaitement bien. J'ai même changé d'accès modifyer de public, de sorte que ne devrait pas être le problème.

  • Quelle est l'idée de l'utilisation de deux formes pour cela ? Pourquoi ne pouvez pas vous rendre dans un formulaire ?
  • Je suis en train de faire une interface soignée et agréable, et le second formulaire varry dans les options sélectionnées dire que vous choisissez, bleu, vert ou selon que le nouveau formulaire sera bleu (ou vert) éléments, etc. (si vous voyez l'idée).
  • Le code que vous avez posté ne fonctionne pas parce que vous êtes la création d'une nouvelle instance de votre EventPlanner forme au lieu d'utiliser le déjà instance existante.
  • Comment puis-je utiliser un déjà existant? Je ne suis pas très avancé programmeur, donc j'ai seulement les bases couverts. L'aide est beaucoup apretiated 🙂
  • Vous serez mieux à l'aide d'événements ou de la création d'une propriété publique sur form2. Utilisation afficher la boîte de dialogue pour afficher le formulaire2 puis utilisez la boîte de dialogue résultat pour déterminer si ou de ne pas lire de la propriété avec les informations que vous souhaitez ajouter à la liste.
  • Qu'en est NameOfMainForm.AddToList()

InformationsquelleAutor zarnokas | 2012-12-28