Es gibt zwei Konzepte, die helfen werden, bessere Software zu schreiben.
Zunächst ist es oft besser, Daten außerhalb von Formularen zu pflegen. .NET-Programmierer werden von Visual Studio geleitet, um Daten in Formularen zu speichern. Dies geschieht jedoch nicht mit Datenbanken wie bei Verwendung von Entity Framework. Wenn Sie keine Datenbanken verwenden, ist es eine gute Idee, unsere Daten trotzdem zu trennen.
Ein weiterer Punkt ist, dass es besser ist, ein Objekt zu erstellen, um die Daten separat vom Steuerelement zu verwalten und die Kontrolle (n) an diese Datenquelle zu binden.
Um ein Beispiel zu erstellen, erstellen Sie einfach eine Formularanwendung und fügen ein zweites Formular hinzu.
Ich bin nicht sicher, wie Sie Form2 relativ zu Form1 Anzeige erscheint aber für die Zwecke meiner Probe werde ich zeigen Form2 nach Form1 (von Haupt) auf die folgende Weise:
Application.Run(new Form1());
Application.Run(new Form2());
In der Programmklasse Fügen Sie Folgendes hinzu:
static public BindingList<String> Items = new BindingList<String>();
Das erstellt eine Liste der Zeichenfolgen. Beachten Sie, dass ich es statisch mache, aber es gibt andere Möglichkeiten, ich weiß nicht, was Ihre relevanten Anforderungen sind. Um BindingList verwenden zu können, benötigen Sie folgendes "using";
using System.ComponentModel;
Ich gehe davon aus, dass, da Sie Form2 wollen Daten nach Form1 Daten hinzugefügt werden, die Sie eigentlich nur eine Liste verwenden. Wenn Sie zwei Listen benötigen, ist es einfach genug, zwei zu erstellen.
dann im Konstruktor add des Formulars (nach InitializeComponent):
BindingSource bs = new BindingSource();
listBox1.DataSource = Program.Items;
Ich bin nicht sicher, was bedeutet „Listenfeld unter Verwendung von Tasten bestückt ist“, aber ich nehme an, Sie nicht, dass erklären, denn das ist irrelevant. Für meine Probe erzeuge ich Daten mit DateTime. So in dem Click-Ereignis der Schaltfläche tun „Program.Items.Add“, wie im folgenden Beispiel:
Program.Items.Add("1 "+DateTime.Now.ToString("mm:ss.ff"));
, dass ein Element in die Einzelteile werden hinzuzufügen. Die Daten sind natürlich die Daten, die Ihre Anwendung benötigt. Der neue Zusatz wird in der ListBox angezeigt. Ich habe dort "1", weil ich für Form2 "2" verwende. Ansonsten ist der Code für Form für meine Probe gleich.
Ich hoffe, dass der Code angemessen beschreibt. Ich kann mehr davon posten, wenn das nicht klar ist.