あなたはただ作る必要があります CurrentWorld
public
また internal
に MainForm
クラス。正直なところ、あなたは他のすべてを正しくやっています!
アップデート: また、 MainForm
で宣言された私的フィールド Form1
タイプです MainForm
そして、ただではありません Form
. 。したがって、コンストラクターをティッジに変更します。
public ProjectWizard(MainForm form)
質問
プロジェクトを作成するためにウィザードフォームが呼び出されるプロジェクトがあります。ウィザードの終わりには、「世界」オブジェクトをメインフォームの変数に送り返したいと思います。しかし、コンストラクターを介してメインフォームを提供すると、メソッドまたはプロパティにアクセスできません。私は何か間違ったことをしていますか?
これが私のコードです:
メインフォーム
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
また internal
に MainForm
クラス。正直なところ、あなたは他のすべてを正しくやっています!
アップデート: また、 MainForm
で宣言された私的フィールド Form1
タイプです MainForm
そして、ただではありません Form
. 。したがって、コンストラクターをティッジに変更します。
public ProjectWizard(MainForm form)