Heim > Backend-Entwicklung > C++ > Wie übertrage ich Daten effizient zwischen Windows Forms?

Wie übertrage ich Daten effizient zwischen Windows Forms?

DDD
Freigeben: 2025-01-03 20:46:40
Original
915 Leute haben es durchsucht

How to Efficiently Pass Data Between Windows Forms?

Übergabe von Daten zwischen Windows Forms

In Windows Forms-Anwendungen ist es häufig erforderlich, Daten zwischen mehreren Formularen auszutauschen. Wenn ein Formular ein anderes öffnet, muss es möglicherweise bestimmte Informationen weitergeben, damit das neue Formular verwendet werden kann. Ein gängiger Ansatz, dies zu erreichen, sind Delegaten.

Problembeschreibung

In einem bestimmten Szenario verfügt ein Hauptformular über eine Schaltfläche mit dem Namen „Einstellungen“, die ein untergeordnetes Formular öffnet namens „Einstellungsformular“. Die Anforderung besteht darin, beim Öffnen eine Variable an das Einstellungsformular zu übergeben, damit der Wert der Variablen im neuen Formular angezeigt werden kann.

Delegierter Ansatz

Zu lösen Um dieses Problem zu lösen, können Sie im Hauptformular einen Delegaten definieren, der einen benutzerdefinierten Ereignishandler akzeptiert. Der Ereignishandler wiederum übergibt die Variable über eine Ereignisargumentklasse an das untergeordnete Formular.

In dem von Ihnen bereitgestellten Codeausschnitt sind der folgende Delegat und das folgende Ereignis in der MainForm-Klasse definiert:

public partial class MainForm : Form
{
    public delegate void PageInfoHandler(object sender, PageInfoEventArgs e);
    public event PageInfoHandler PageInfoRetrieved;
    ...
}
Nach dem Login kopieren

Die PageInfoEventArgs-Klasse muss so definiert sein, dass sie den Variablenwert enthält:

public class PageInfoEventArgs : EventArgs
{
    public string SomeString;
    
    public PageInfoEventArgs(string someString)
    {
        SomeString = someString;
    }
}
Nach dem Login kopieren

Wenn im Hauptmenü auf die Schaltfläche „Einstellungen“ geklickt wird Formular wird eine Instanz von PageInfoEventArgs mit dem Variablenwert erstellt und das PageInfoRetrieved-Ereignis ausgelöst. Der Ereignishandler im Einstellungsformular empfängt dann die Variable und kann sie zur Anzeige des Werts verwenden.

Konstruktoransatz

Ein anderer Ansatz besteht darin, die Variable als zu übergeben Parameter an den Konstruktor des Einstellungsformulars. Das Formular kann dann den Konstruktorparameter in seiner Logik verwenden.

Zum Beispiel könnten Sie Folgendes haben:

public class SettingsForm : Form
{
    private string _variable;
    
    public SettingsForm(string variable)
    {
        _variable = variable;
    }
    
    ... // Use _variable as needed
}
Nach dem Login kopieren

Im MainForm würden Sie das Einstellungsformular wie folgt erstellen:

SettingsForm settingsForm = new SettingsForm("value");
settingsForm.ShowDialog();
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie übertrage ich Daten effizient zwischen Windows Forms?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage