Öffnen von Form-Instanzen in C#

Oftmals sind in einer Windows-Formular-Instanz natürlich erheblich mehr Daten als nur ein einzelner Satz enthalten, die aus Benutzereingaben oder anderen Vorgängen stammen. Wie kann man also zu der aktuellen Instanz von Form1 zurückkehren und diese Daten beibehalten?

Dazu ist der Zugriff auf eine Variable erforderlich, die auf die spezifische Instanz der Form1 verweist, die wir anzeigen möchten. Eine Möglichkeit hierfür besteht in der Verwendung einer öffentlichen, statischen Variable mit einem Verweis auf die Instanz. (Der Unterschied zwischen statischen Klassen-Membern und Instanz-Membern wie Variablen besteht darin, dass statische Member nicht instantiiert werden müssen.)
Deklarieren Sie hierzu direkt unter der Deklaration der Form1-Klasse eine öffentliche, statische Variable vom Typ Form1. Ich habe die Variable staticVar genannt:

Es gibt übrigens keinen Grund, diese Variable in das Form1-Modul zu setzen. Solange sie öffentlich und statisch ist, kann sie an jede beliebige Stelle gesetzt werden. Wenn Sie mehrere öffentliche, statische Variablen verwenden, bietet es sich an, in einem separaten Klassenmodul eine eigene Klasse für die Variablen einzurichten. Beachten Sie auch, dass ich die Variable unter Verwendung des Schlüsselworts null initialisiert habe, so dass sie ausdrücklich keinen Formular-Verweis enthält.

Wenn Sie die Form2-Instanz anzeigen möchten, verwenden Sie das Schlüsselwort this, um einen Verweis auf die aktuelle Form1-Instanz in der Variablen staticVar zu speichern:

Hier der vollständige überarbeitete Code für das Klick-Ereignis, mit dem die Instanz von Form2 angezeigt wird:

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Bedrohungen in Europa: Schwachstellen in der Lieferkette dominieren

Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…

6 Tagen ago

Bericht: Apple arbeitet an faltbarem iPad

Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…

6 Tagen ago

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

7 Tagen ago

Bund meldet Fortschritte in der Netzversorgung

Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…

7 Tagen ago

Vorinstallierte Schadsoftware auf IoT-Geräten

Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…

1 Woche ago

iOS und iPadOS 18.2 beseitigen 21 Sicherheitslücken

Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.

1 Woche ago