Я пытаюсь создать меню для игры, которую я разрабатываю. Это исходный код:System.StackOverflowException при переключении между формами
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Racing_Manager
{
public partial class Form1 : Form
{
Form1 form1 = new Form1();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
//Exit Button
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
//Help Button
private void Help_Click(object sender, EventArgs e)
{
}
//Play Button
private void Play_Click(object sender, EventArgs e)
{
Hide();
Form2 secondMenu = new Form2();
secondMenu.Show();
}
}
}
Тогда у меня есть:
namespace Racing_Manager
{
public partial class Form2 : Form
{
public Form2 form2 = new Form2();
public Form2()
{
InitializeComponent();
}
//Back Button
private void button2_Click(object sender, EventArgs e)
{
Hide();
Form1 form1 = new Form1();
form1.Show();
}
}
}
Когда я запускаю это, он дает System.StackOverflowException (я знаю, вполне уместно) на этой линии:
Form1 form1 = new Form1();
Что я делаю неправильно? Как это исправить? Что я могу сделать, чтобы улучшить качество кода?
Спасибо, он решил проблему. Однако, когда я переключаюсь между формами, первый закрывается, вы считаете, что приложение разбилось, но затем появляется другая форма. Как я могу это решить? – aPlutonicCoder
Примите мой ответ, а затем разместите свой код в новом вопросе и разместите ссылку в этих комментариях. –