Как заполнить переменную в форме некоторое время в форме 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 или же internal на MainForm учебный класс. Честно говоря, вы делаете все остальное правильно!

ОБНОВИТЬ: также убедитесь, что MainForm частное поле объявлено в Form1 имеет тип MainForm И не просто Form. Анкет Итак, измените конструктор на типа тоже:

public ProjectWizard(MainForm form)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top