문제

프로젝트가 있는데, 프로젝트를 만들기 위해 마법사 양식이 호출됩니다. 마법사 끝에 나는 '세계'객체를 기본 형식의 변수로 다시 보내고 싶습니다. 그러나 제작자를 통해 메인 양식을 제공하면 메소드 나 속성에 액세스 할 수 없습니다. 내가 뭔가 잘못하고 있습니까?

내 코드는 다음과 같습니다.

주요 형태

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. 따라서 생성자 A Tidge도 변경하십시오.

public ProjectWizard(MainForm form)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top