Gewusst wie: Anzeigen von Formularen aus Komponenten
Aktualisiert: November 2007
Obwohl die meisten Komponenten nicht über visuelle Schnittstellen verfügen, kann es manchmal sinnvoll sein, dass ein Benutzer mit einer Komponente auf visuelle Weise interagiert. Beispielsweise könnte in einer Komponente, die ein Bankkonto repräsentiert, ein spezialisiertes Warnungsformular angezeigt werden, sobald das Konto überzogen wird. Diese Funktionen sollten in der Komponente unverändert bleiben und nicht von der Clientanwendung abhängig sein. Da Formulare Klassen darstellen, kann einfach eine Instanz des Formulars erstellt und anschließend über die Komponente angezeigt werden.
Es gibt zwei Vorgehensweisen für das Erstellen eines Formulars:
Erstellen des Formulars außerhalb der Komponente. Damit wird die Verwendung eines Designers zum Erstellen des Aussehens und Verhaltens des Formulars möglich.
Erzeugen des Formulars als geschachtelte Klasse innerhalb der Komponente. Ein Vorteil dieser Vorgehensweise besteht darin, dass das Formular stets einen Bestandteil der Komponente darstellt und eine vollständige Kontrolle über Verwendung und Anzeige möglich ist. Der Hauptnachteil besteht jedoch darin, dass für das Formular kein Designer verwendet werden kann. Es muss vollständig durch manuelles Codieren entworfen werden.
So zeigen Sie ein Formular der Komponente an
Erstellen Sie das Windows Form, das von der Komponente angezeigt werden soll.
Wenn sich das anzuzeigende Formular nicht in derselben Assembly wie die Komponente befindet, müssen Sie auf die Assembly verweisen, die das Formular enthält.
Deklarieren Sie eine lokale Variable als neue Instanz des Formulars.
Wenn das Formular z. B. MyForm lautet, würde der Code wie folgt aussehen.
Dim AFormInstance as New MyForm
MyForm AFormInstance = new MyForm();
MyForm AFormInstance = new MyForm();
Rufen Sie die Methoden Show, ShowDialog und Hide des Formulars auf, um die Anzeige wie in den folgenden Codebeispielen zu steuern.
AFormInstance.Show ' Displays the form. AFormInstance.ShowDialog ' Displays the form and waits for user interaction before continuing. AFormInstance.Hide ' Hides the form.
// Displays the form. AFormInstance.Show(); // Displays the form and waits for user interaction before continuing. AFormInstance.ShowDialog(); // Hides the form. AFormInstance.Hide();
// Displays the form. AFormInstance.Show(); // Displays the form and waits for user interaction before continuing. AFormInstance.ShowDialog(); // Hides the form. AFormInstance.Hide();