Frage

Ich habe ein Projekt, bei dem ein Zaubererformular aufgerufen wird, um ein Projekt zu machen. Am Ende des Zauberers möchte ich ein "Welt" -Objekt in die Hauptform an eine Variable zurücksenden. Aber wenn ich über den Konstruktor die Hauptform mit ihr gebe, kann ich nicht auf seine Methoden oder Eigenschaften zugreifen. Mache ich etwas falsch?

Hier ist mein Code:

Hauptform

private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
    this.NewProject();
}

private void NewProject()
{
    var myForm = new ProjectWizard(this);
    myForm.Show();
}

Assistentformcode:

public ProjectWizard(Form form)
{
    InitializeComponent();
    MainForm = form;
}

private void finishButton_Click(object sender, EventArgs e)
{
    //World world = new World();
    //MainForm.CurrentWorld = world;
}

Danke im Voraus.

War es hilfreich?

Lösung

Sie müssen nur machen CurrentWorld public oder internal auf der MainForm Klasse. Ehrlich gesagt machst du alles andere richtig!

AKTUALISIEREN: Stellen Sie auch sicher, dass die MainForm privates Feld erklärt in Form1 ist vom Typ MainForm Und nicht nur Form. Ändern Sie also auch den Konstruktor einen Tidge:

public ProjectWizard(MainForm form)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top