Я получаю странную ошибку, которую я не могу вспомнить когда-либо раньше. Я пытаюсь сделать несколько меню для небольшой игры, но почему-то что-то не так с моей ссылкой на Form1.StackOverflowException был необработанным C#
Вот код:
public partial class Form1 : Form
{
Form2 Form2 = new Form2();
Form3 Form3 = new Form3();
public string difficulty = "Makkelijk";
public string guesses = "Normaal";
public Form1()
{
InitializeComponent();
}
private void playButton_Click(object sender, EventArgs e)
{
//Form3.difficulty = difficulty;
//Form3.guesses = guesses;
Form3.Show();
this.Hide();
}
private void optionsButton_Click(object sender, EventArgs e)
{
Form2.Show();
this.Hide();
}
private void exitButton_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
Form2:
public partial class Form2 : Form
{
Form1 Form1 = new Form1();
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Woord toevoeg query
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button3_Click(object sender, EventArgs e)
{
//Form1.difficulty = comboBox1.Text;
//Form1.guesses = comboBox2.Text;
this.Close();
}
}
Что плохого в этом?
Заранее благодарен.
Но как я могу сделать повторения Form1 из формы2? – user2953063
Передайте 'this' в качестве параметра конструктору формы2, когда вы вызываете его в form1 –
Передайте ссылку на экземпляр Form1 в конструктор Form2. Что-то вроде 'Form2 form2 = new Form2 (ref this);' и конструктор Form2 будет 'public Form2 (ref Form1 form1) {this-> form1 = form1;}' –