Wenn Sie eine Anwendung auf einer Windows-Plattform mit Windows Forms entwickeln, ist es wichtig zu wissen, wie zwei Formulare miteinander verknüpft werden. Dadurch können Sie komplexere und interaktive Benutzeroberflächen erstellen, die Benutzerinteraktionen mit verschiedenen Formularen ermöglichen. In diesem Artikel werden wir uns einen ausführlichen Leitfaden für Anfänger zum Verknüpfen von zwei Formularen in Windows Forms ansehen.
Eine Möglichkeit, zwischen Formularen zu kommunizieren, besteht darin, Ereignisse zu verwenden. Diese Methode basiert auf dem Prinzip, Ereignisse zwischen verschiedenen Formen zu senden und zu empfangen. Mit diesem Ansatz können Sie Informationen von einem Formular zum anderen kommunizieren und auf Benutzeraktionen reagieren. Um diesen Mechanismus zu implementieren, müssen Sie Ereignishandler auf dem ersten Formular festlegen und das Ereignis definieren, das bei Bedarf ausgelöst wird.
Eine andere Möglichkeit, zwei Formen zu verknüpfen, besteht darin, Daten über einen Konstruktor oder Eigenschaften zu übergeben. In diesem Fall werden die Daten direkt von einem Formular zum anderen übertragen. Häufig wird diese Methode verwendet, um Informationen über das vom Benutzer ausgewählte Element zur späteren Verarbeitung an ein anderes Formular zu senden. Um diesen Ansatz zu implementieren, erstellen Sie einen Konstruktor mit Parametern auf dem sekundären Formular und übergeben dann die erforderlichen Daten, wenn Sie dieses Formular aus dem ersten Formular aufrufen.
Das Verknüpfen von zwei Formularen in Windows Forms ist ein wichtiger Aspekt der Anwendungsentwicklung auf dieser Plattform. Dadurch können Sie komplexere und interessantere Schnittstellen erstellen, die die Interaktion des Benutzers mit verschiedenen Formen ermöglichen. In diesem Artikel haben wir zwei Möglichkeiten zum Verknüpfen von Formularen untersucht: die Verwendung von Ereignissen und die Weitergabe von Daten über einen Konstruktor oder Eigenschaften. Mit diesen Methoden können Sie mit Formularen so arbeiten, dass ein Formular mit einem anderen interagieren kann und die übergebenen Daten für verschiedene Operationen verwendet werden können. Ich hoffe, dass dieser ausführliche Leitfaden Ihnen hilft, die Grundlagen der Formularverknüpfung in Windows Forms zu erlernen und sie in Ihren Projekten anzuwenden.
So verknüpfen Sie zwei Formulare in Windows Forms
Durch die Verknüpfung von zwei Formularen in Windows Forms können Sie Daten zwischen Formularen übertragen und Ereignisse in einem Formular in einem anderen verarbeiten.
Führen Sie die folgenden Schritte aus, um Formulare in Windows Forms zu verknüpfen:
- Erstellen Sie ein neues Windows Forms-Anwendungsprojekt in Visual Studio.
- Fügen Sie dem Projekt ein neues Formular hinzu. Gehen Sie dazu zum Projektmappen-Explorer, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie "Add" -> "Windows Form".
- Öffnen Sie die Datei mit dem ersten Formular (Form1.cs) und fügen Sie Code hinzu, der das zweite Formular öffnet, wenn Sie auf eine Schaltfläche oder ein anderes Ereignis klicken. Zum Beispiel:
private void OpenForm2Button_Click(object sender, EventArgs e)
Form2 form2 = new Form2();
In diesem Beispiel erstellen wir eine neue Instanz des zweiten Formulars (Form2) und zeigen es mit der Show() -Methode an.
- Öffnen Sie die Datei mit dem zweiten Formular (Form2.cs) und fügen Sie Code hinzu, um Daten zwischen den Formularen zu übertragen. Sie können beispielsweise öffentliche Eigenschaften oder Methoden eines zweiten Formulars hinzufügen, um Daten aus dem ersten Formular abzurufen.
public string GetDataFromForm1()
In diesem Beispiel fügen wir die öffentliche Methode GetDataFromForm1() hinzu, die Text aus dem Textfeld TextBox1 zurückgibt.
- Wechseln Sie zurück zur Datei des ersten Formulars (Form1.cs) und rufen Sie die Methode oder Eigenschaft des zweiten Formulars auf, um die Daten abzurufen. Zum Beispiel:
private void ProcessForm2DataButton_Click(object sender, EventArgs e)
Form2 form2 = new Form2();
string dataFromForm1 = form2.GetDataFromForm1();
// Verarbeitung von Daten aus der zweiten Form.
In diesem Beispiel erstellen wir eine neue Instanz des zweiten Formulars (Form2) und rufen die GetDataFromForm1() -Methode auf, um die Daten aus dem ersten Formular abzurufen.
Daher haben wir zwei Formulare in Windows Forms verknüpft, sodass Sie Daten zwischen ihnen übertragen und Ereignisse in einem Formular in einem anderen verarbeiten können.
Arbeitsvorbereitung
Bevor Sie zwei Formulare in Windows Forms verknüpfen können, müssen Sie einige vorläufige Schritte ausführen.
1. Öffnen Sie Visual Studio, und erstellen Sie ein neues Projekt vom Typ Windows Forms Application.
2. Erstellen Sie im Projektmappen-Explorer zwei Formulare: das Hauptformular (Form1) und das zweite Formular (Form2), indem Sie die entsprechenden Steuerelemente in der Symbolleiste verwenden.
3. Legen Sie die Eigenschaft fest StartPosition für jedes Formular in Wert CenterScreen oder Manual, um die Position der Formulare auf dem Bildschirm festzulegen.
4. Um zwischen den Formularen navigieren zu können, müssen einige Anpassungen vorgenommen werden.
Aktivieren Sie das Hauptformular (Form1), öffnen Sie das Windows Forms-Fenster und wählen Sie die Registerkarte Eigenschaften aus.
Unter Modifiers legen Sie einen Wert für die Eigenschaft fest Modifiers in Wert Public.
Auf diese Weise können Sie von anderen Teilen der Anwendung aus auf das Formular zugreifen.
Hinzufügen eines neuen Formulars
Führen Sie die folgenden Schritte aus, um zwei Formulare in Windows Forms zu verknüpfen:
1. Erstellen eines neuen Formulars:
Bevor Sie Formulare verknüpfen können, müssen Sie ein neues Formular erstellen. Klicken Sie dazu im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und wählen Sie "Hinzufügen" > "Windows-Formular". Wählen Sie im sich öffnenden Fenster den Formulartyp aus (z. B. "Windows-Formular") und klicken Sie auf "Hinzufügen". Jetzt haben Sie ein neues Formular, das mit dem Hauptformular verknüpft werden kann.
2. Erstellen einer Instanz eines neuen Formulars:
Nachdem Sie ein neues Formular erstellt haben, müssen Sie dieses Formular im Code des Hauptformulars instanziieren. Dazu können Sie im Code des Hauptformulars eine Variable des neuen Formulartyps deklarieren und mit dem Operator "new" eine Instanz erstellen. Wenn das neue Formular beispielsweise "Form2" heißt, könnte der Code folgendermaßen aussehen:
Form2 form2 = new Form2();
3. Anzeigen eines neuen Formulars:
Um ein neues Formular anzuzeigen, rufen Sie die Show() -Methode für die erstellte Formularinstanz auf. Zum Beispiel:
form2.Show();
Nach dem Aufruf der Show() -Methode wird das neue Formular auf dem Bildschirm angezeigt.
Sie haben jetzt zwei verknüpfte Formulare, das Hauptformular und das neue Formular, die Sie in Ihrer Windows Forms-Anwendung zusammen verwenden können.
Erstellen einer Verknüpfung zwischen Formularen
Verknüpfung mit dem Konstruktor
Eine Möglichkeit zum Erstellen einer Beziehung zwischen Formularen besteht darin, einen Verweis auf ein Formular über einen Konstruktor an ein anderes Formular zu übergeben.
public class Form1 : Form>
public class Form2 : Form>
In diesem Beispiel erstellt Form1 ein Form2-Objekt und übergibt einen Verweis auf sich selbst über den Konstruktor. Form2 speichert einen Verweis auf Form1 im Feld form1.
Verknüpfung mit einer Eigenschaft
Eine andere Möglichkeit zum Erstellen einer Beziehung zwischen Formularen besteht darin, Eigenschaften zu verwenden. In diesem Fall hat ein Formular eine Eigenschaft, die einen Verweis auf das andere Formular speichert.
public class Form1 : Form>
public class Form2 : Formset < form1 = value; >>>
In diesem Beispiel erstellt Form1 ein Form2-Objekt und legt die Form1Instance-Eigenschaft dieses Objekts auf sich selbst fest. Form2 speichert einen Verweis auf Form1 im Feld form1.
Nachdem Sie mithilfe eines Konstruktors oder einer Eigenschaft eine Beziehung zwischen Formularen erstellt haben, können Sie auf Elemente eines anderen Formulars zugreifen und die erforderlichen Vorgänge ausführen.
Übertragen von Daten zwischen Formularen
Der einfachste Weg, Daten zwischen Formularen zu übertragen, ist die Verwendung des Formulardesigners. Sie können einen eigenen Konstruktor für ein Formular erstellen und die erforderlichen Daten beim Erstellen einer Formularinstanz an dieses Formular übergeben. Wenn Sie beispielsweise den Wert der Variablen "name" von einem Formular an ein anderes übergeben müssen, können Sie einen Konstruktor für das zweite Formular erstellen, der den Wert "name" als Argument annimmt:
public partial class SecondForm : Form>
Wenn Sie das zweite Formular aus dem ersten Formular instanziieren, können Sie den Wert "name" an den Konstruktor übergeben:
string name = "John";SecondForm secondForm = new SecondForm(name);secondForm.Show();
Eine andere Möglichkeit, Daten zwischen Formularen zu übertragen, besteht darin, die Eigenschaften und Methoden des Formulars zu verwenden. Sie können eine Eigenschaft oder Methode der zweiten Form deklarieren, mit der Sie den Wert der Variablen "name" festlegen oder abrufen können. Zum Beispiel können Sie der zweiten Form die Eigenschaft "Name" hinzufügen:
public partial class SecondForm : Form// . >
Sie können den Wert der Eigenschaft "Name" aus dem ersten Formular wie folgt festlegen:
SecondForm secondForm = new SecondForm();secondForm.Name = "John";secondForm.Show();
Das zweite Formular kann den Wert der Eigenschaft "Name" wie folgt abrufen:
public partial class SecondForm : Form/ . private void PrintName()>
Daher können Sie mithilfe des Formulardesigners und der Formulareigenschaften und -methoden Daten effizient zwischen Formularen in Windows Forms-Anwendungen übertragen.
Verwalten von Formularen in einer Anwendung
In Windows Forms-Anwendungen können mehrere Formulare vorhanden sein, die verschiedene Fenster oder Benutzeroberflächenbildschirme darstellen. Mit der Formularverwaltung können Sie mit jedem Formular interagieren und zwischen ihnen wechseln.
Sie müssen Klassen verwenden, um Formulare in Ihrer Anwendung zu verwalten Form und Application. Die Klasse Form stellt ein separates Anwendungsformular und eine Klasse dar Application verantwortlich für das Starten und Beenden der Anwendung.
Normalerweise enthält die Anwendung ein Hauptformular, das beim Start des Programms angezeigt wird, und zusätzliche Formulare, die bei Bedarf geöffnet werden können.
Um ein neues Formular zu öffnen, müssen Sie eine Instanz der Formularklasse erstellen und die Methode aufrufen Show. Zum Beispiel:
Form2 form2 = new Form2();form2.Show();
Methode Show zeigt das Formular an und navigiert zu ihm. Wenn Sie das Formular öffnen und die weitere Arbeit mit dem Hauptformular blockieren möchten, verwenden Sie die Methode ShowDialog:
Form2 form2 = new Form2();form2.ShowDialog();
Methode ShowDialog blockiert die Interaktion des Benutzers mit dem Hauptformular, bis das sekundäre Formular geschlossen wird. Dies ist nützlich, wenn Sie das Ergebnis der Arbeit mit einem zusätzlichen Formular erhalten möchten, bevor Sie mit der Ausführung des Programms fortfahren.
Sie können die Methode verwenden, um das Formular zu schließen Close, die das Formular schließt. Zum Beispiel:
this.Close();
Wenn Sie alle Formulare schließen und die Anwendung beenden möchten, verwenden Sie die Methode Exit Klasse Application:
Application.Exit();
Methode Exit beendet die Anwendung und schließt alle geöffneten Formulare.
Auf diese Weise können Sie mit der Formularverwaltung in der Anwendung neue Formulare erstellen und öffnen sowie die Anwendung bei Bedarf schließen und beenden. Auf diese Weise können Sie Mehrfensteranwendungen mit Übergängen zwischen verschiedenen Bildschirmen der Benutzeroberfläche erstellen.
Schließen verwandter Formulare
Wenn wir zwei Formulare in Windows Forms verknüpfen, stellt sich die Frage, wie Sie diese Formulare ordnungsgemäß schließen können, damit das Programm weiterhin ordnungsgemäß funktioniert. In diesem Abschnitt werden mehrere Möglichkeiten zum Schließen verwandter Formulare untersucht.
Die erste Methode besteht darin, das Formularschließungsereignis zu verwenden. Sie können eine Methode an dieses Ereignis binden, die beim Schließen des Formulars die erforderlichen Aktionen ausführt. Zum Beispiel können wir ein verknüpftes Formular schließen, indem wir die Close() -Methode aufrufen.
Die zweite Methode besteht darin, die ShowDialog() -Methode beim Öffnen des zweiten Formulars zu verwenden. Diese Methode blockiert das aufrufende Formular, bis das zweite Formular geschlossen ist. Wenn das zweite Formular geschlossen wird, wird das Programm unmittelbar nach dem Aufruf der ShowDialog() -Methode fortgesetzt.
Die dritte Methode besteht darin, das globale Objekt der Application-Klasse und seine Exit() -Methode zu verwenden. Durch Aufrufen dieser Methode werden alle laufenden Anwendungen beendet. Wenn Sie diese Methode verwenden, sollten Sie vorsichtig sein, da sie zu unerwünschten Folgen für andere Teile des Programms führen kann.
| Art | Beispielcode |
|---|---|
| Событие FormSchluss | private Leere Form1_FormClosing (Objekt Absender, FormClosingEventArgs e) Form2 form2 = neues Form2 (); formblatt 2.Schließen(); > |
| Метод Dialog anzeigen() | privater void Button1_Click (Objektabsender, EventArgs e) Form2 form2 = neues Form2 (); formblatt 2.Dialog anzeigen(); > |
| Метод Ausfahrt() | privater void Button1_Click (Objektabsender, EventArgs e) Anwendung.Ausfahrt(); > |
Die Art und Weise, wie verknüpfte Formulare geschlossen werden, hängt von den Anforderungen und Besonderheiten jedes einzelnen Projekts ab. Es ist wichtig, das Schließen von Formularen richtig zu organisieren, um Probleme zu vermeiden und das Programm benutzerfreundlicher zu gestalten.
Frage-Antwort
Wie verknüpfe ich zwei Formulare in Windows Forms?
Sie müssen die Klassen Application und Form verwenden, um zwei Formulare in Windows Forms zu verknüpfen. Mit der Application-Klasse können Sie ein Formular instanziieren und anschließend die Show() -Methode zum Anzeigen dieses Formulars verwenden. Für ein Bindungsformular können Sie ein anderes Formular instanziieren und im Konstruktor übergeben. Danach können Sie die ShowDialog() -Methode aufrufen, um das zugeordnete Formular modal anzuzeigen.
Wie instanziiere ich ein Formular in Windows Forms?
Zum Erstellen einer Formularinstanz in Windows Forms müssen Sie das new-Schlüsselwort und den Klassennamen des Formulars verwenden. Wenn beispielsweise der Klassenname des Formulars MyForm lautet, sieht die Instanziierung wie folgt aus: MyForm form = new MyForm();
Wie kann ich ein verknüpftes Formular modal anzeigen?
Um ein zugeordnetes Formular modal in Windows Forms anzuzeigen, müssen Sie die ShowDialog() -Methode für eine Formularinstanz aufrufen. Wenn beispielsweise der Name der Formularinstanz lautet, lautet der Methodenaufruf wie folgt: form.ShowDialog(); Der Benutzer kann jedoch erst mit dem Hauptformular interagieren, wenn das verknüpfte Formular geschlossen wird.
Wie verknüpfe ich zwei Formulare in Windows Forms mit einer Schaltfläche?
Um zwei Formulare in Windows Forms über eine Schaltfläche zu verknüpfen, müssen Sie einen Ereignishandler für die Schaltfläche hinzufügen. Der Handler erstellt eine Instanz des zugeordneten Formulars und ruft die ShowDialog() -Methode auf. Zum Beispiel: private void Button1_Click(object sender, EventArgs e)
Ist es möglich, Daten zwischen verknüpften Formularen in Windows Forms zu übertragen?
Ja, Sie können Daten zwischen verknüpften Formularen in Windows Forms übertragen. Dazu können Sie dem zugeordneten Formular öffentliche Eigenschaften oder Methoden hinzufügen, die zum Übertragen von Daten verwendet werden sollen. Sie können beispielsweise eine Eigenschaft in einem zugeordneten Formular mit einem Datentyp erstellen, der die übergebenen Daten darstellt, und vor dem Aufruf der ShowDialog() -Methode einen Wert festlegen.