フォームBでしばらくの間、フォームの変数を埋める方法は?

StackOverflow https://stackoverflow.com/questions/20353769

  •  25-08-2022
  •  | 
  •  

質問

プロジェクトを作成するためにウィザードフォームが呼び出されるプロジェクトがあります。ウィザードの終わりには、「世界」オブジェクトをメインフォームの変数に送り返したいと思います。しかし、コンストラクターを介してメインフォームを提供すると、メソッドまたはプロパティにアクセスできません。私は何か間違ったことをしていますか?

これが私のコードです:

メインフォーム

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

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

ウィザードフォームコード:

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

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

前もって感謝します。

役に立ちましたか?

解決

あなたはただ作る必要があります CurrentWorld public また internalMainForm クラス。正直なところ、あなたは他のすべてを正しくやっています!

アップデート: また、 MainForm で宣言された私的フィールド Form1 タイプです MainForm そして、ただではありません Form. 。したがって、コンストラクターをティッジに変更します。

public ProjectWizard(MainForm form)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top