Connect with us

Wie man

Übergeben von Variablen zwischen Windows Forms Windows ohne ShowDialog ()

Wenn Sie eine Windows Forms-Anwendung programmieren, müssen Sie ausnahmslos Variablen aus einem zweiten Formularfenster abrufen, z. B. ein Optionsformular oder eine Popup-Suchaufforderung.

Die meisten Anleitungen sagen Ihnen, dass Sie das zweite Formular mit ShowDialog () öffnen müssen, wodurch der Benutzer daran gehindert wird, etwas anderes zu tun, bis er das zweite Formularfenster geschlossen hat. Dies funktioniert beispielsweise für einen Such- / Ersetzungsdialog nicht sehr gut. Es funktioniert auch nicht sehr gut für benutzerdefinierte Popup-Formulare.

Der schnelle Weg, Variablen zwischen den Formularen zu übergeben, ist die Verwendung von Delegaten. Sie können einen Eventhandler für das Closing-Ereignis des zweiten Formulars festlegen und das Ereignis im ersten Formular behandeln. Auf diese Weise können Sie Variablen erfassen, bevor das zweite Formularfenster geschlossen wurde.

Für diese Übung nehmen wir an, dass wir zwei Formen haben:

Hauptform

OptionsForm

Wir gehen weiter davon aus, dass wir auf eine Schaltfläche geklickt haben, die die OptionsForm mit einem Show () -Methodenaufruf öffnet. Schauen wir uns nun die Magie an:

……. snip …….

OptionsForm theform = new OptionsForm ();
theform.Closing + = neuer CancelEventHandler (theform_Closing);
theform.Show ();

}}

private void theform_Closing (Objektabsender, CancelEventArgs e)
{

OptionsForm theform = (OptionsForm) Absender;

// Nimm die Variable aus dem Optionsformular. Das Optionsformular sollte diese Variable vor dem Schließen festlegen und die Variable als öffentlich markieren.
Zeichenfolge localvar = theform.thestringvariable;

}}

Das ist alles dazu.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia