Как исправить проблему с несколькими формами (CS7036) - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть приложение, которое отправляет информацию из двух форм (форма 2 в форму 1), и у меня есть экран меню, который входит в форму 2, но когда я пытаюсь открыть форму два, я получаю сообщение об ошибке (CS7036). В основном, у меня есть ошибка, которая говорит

"Ошибка CS7036 Не указан аргумент, соответствующий Обязательный формальный параметр «Входящий» из «Сложность.difficulty (Easy)»

(сложность - «форма 2», а легкая - «форма 1»

ИЗ Меню

private void btnStart_Click(object sender, EventArgs e)
{
    this.Close();
    difficulty diff = new difficulty();
    diff.ShowDialog();
}

ОТ ТРУДНОСТИ

public partial class difficulty : Form
{

    public difficulty(Easy incoming) 
    {

        InitializeComponent();
    }

    private void btnEasy_Click(object sender, EventArgs e)
    {
        this.Close();
        Easy easy = new Easy();
        easy.ShowDialog();
    }
}

Как мне заставить его работать, чтобы я мог войти в меню, затем с трудом и без ошибок? Любая помощь приветствуется.

1 Ответ

0 голосов
/ 27 апреля 2019

Вы не передали параметр, который добавили в свой конструктор при создании экземпляра класса.

Вот исправленная версия вашего кода:

private void btnStart_Click(object sender, EventArgs e) { 
    //use whatever easy you have here
    Easy easy = new Easy();
    difficulty diff = new difficulty(easy); 
    diff.ShowDialog(); 

    this.Hide();
}

Вам необходимо иметь Easy класс, созданный заранее для передачи. И если вы хотите использовать этот экземпляр в классе, вы можете сделать это:

public partial class difficulty : Form { 

    private Easy easy;
    public difficulty(Easy incoming) 
    { 
        easy = incoming;
        InitializeComponent();
    } 

    private void btnEasy_Click(object sender, EventArgs e) {
          ....
    } 
}

Затем в любой из функций класса сослаться на переменную easy, чтобыполучить данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...