Закрытие нескольких форм C # - PullRequest
0 голосов
/ 27 декабря 2018

В настоящее время я работаю с формами окон C #.У меня получилось примерно 40 cs файлов, и когда приложения работают как: Нажатие кнопки -> Открывает новую форму на первой, а нажатие другой кнопки открывает другую форму на предыдущей.

Теперь, когда я нажимаю несколькоЕсли ни одна из кнопок не закрывается сама, я нажимаю разные кнопки, все они остаются на заднем плане.

Теперь, если я использую this.Close ();он работает с 1, но у меня получилось как 40 cs файлов, и мне сложно скомпилировать их все.

ищете какие-нибудь предложения?Спасибо, ребята, за любую помощь!

public partial class Costumers_Orders : Form
{
    public Costumers_Orders()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        NewCostumer mm = new NewCostumer();
        mm.Show();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        Remove_Customer mm = new Remove_Customer();
        mm.Show();
    }

    private void Costumers_Orders_Load(object sender, EventArgs e)
    {

    }

    private void button3_Click(object sender, EventArgs e)
    {
        Show_Edit_Customer mm = new Show_Edit_Customer();
        mm.Show();
    }

    private void button4_Click(object sender, EventArgs e)
    {
        Orders_report mm = new Orders_report();
        mm.Show();
    }
}

1 Ответ

0 голосов
/ 27 декабря 2018

Предполагая, что вы когда-либо хотите, чтобы только одна форма открывалась одновременно, и что "Costumers" является основной формой и не может быть закрыта:

private void button1_Click(object sender, EventArgs e)
{
    ShowForm(new NewCostumer());
}

private void ShowForm(Form newForm)
{
    List<Form> forms = new List<Form>();
    foreach (Form frm in Application.OpenForms)
    {
        if (!(frm is Costumers))
        {
            forms.Add(frm);
        }
    }
    foreach (Form frm in forms)
    {
        frm.Close();
    }
    newForm.Show();
}

Есть и другие способы, которыми вы могли бы сделать это также.

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