Heim > Backend-Entwicklung > C++ > Wie kann ich eine Variable zwischen Formularen in Windows Forms-Anwendungen übergeben?

Wie kann ich eine Variable zwischen Formularen in Windows Forms-Anwendungen übergeben?

Patricia Arquette
Freigeben: 2025-01-01 10:28:11
Original
305 Leute haben es durchsucht

How Can I Pass a Variable Between Forms in Windows Forms Applications?

Übergabe einer Variablen zwischen Formularen in Windows Forms

In Windows Forms-Anwendungen kann die Übergabe von Daten zwischen Formularen mithilfe von Delegaten und Ereignissen erreicht werden. Das Problem entsteht, wenn ein Formular, das „untergeordnete“ Formular, den Zugriff auf eine Variable vom „übergeordneten“ Formular erfordert.

Um dieses Problem zu lösen, sollten Sie die Verwendung von Delegaten in Betracht ziehen, um Daten vom übergeordneten Formular an das untergeordnete Formular zu senden. Definieren Sie im übergeordneten Formular einen Delegaten und einen Ereignishandler dafür. Wenn Sie auf die Schaltfläche zum Öffnen des untergeordneten Formulars klicken, erstellen Sie ein Ereignisargumentobjekt mit dem Variablenwert und lösen das Ereignis aus.

Abonnieren Sie im untergeordneten Formular das Ereignis im Konstruktor. Wenn das Ereignis auftritt, rufen Sie den Variablenwert aus dem Ereignisargumentobjekt ab. Ändern Sie die Steuerelemente oder Eigenschaften des untergeordneten Formulars, um den variablen Text dynamisch anzuzeigen.

Hier ist ein Beispielcode in C#:

// Parent Form
public partial class MainForm : Form
{
    public delegate void PageInfoHandler(object sender, PageInfoEventArgs e);
    public event PageInfoHandler PageInfoRetrieved;

    private void toolStripBtnSettings_Click(object sender, EventArgs e)
    {
        PageInfoEventArgs args = new PageInfoEventArgs(SomeString);
        OnPageInfoRetrieved(args);
        SettingsForm settingsForm = new SettingsForm();
        settingsForm.ShowDialog();
    }

    private void OnPageInfoRetrieved(PageInfoEventArgs args)
    {
        if (PageInfoRetrieved != null)
            PageInfoRetrieved(this, args);
    }
}

// Child Form
public partial class SettingsForm : Form
{
    private string m_Data; // Variable to store the passed value

    public SettingsForm()
    {
        InitializeComponent();
        Subscribe to PageInfoRetrieved event
    }

    private void OnPageInfoRetrieved(object sender, PageInfoEventArgs e)
    {
        m_Data = e.Value;
        // Update controls or properties in this form
    }

    public string Data => m_Data; // Expose the variable as a property
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich eine Variable zwischen Formularen in Windows Forms-Anwendungen übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage