Member 13019612 Ответов: 1

Закройте текущую форму и откройте новую из этой формы закрытой


у меня есть 2 формы в форме 1 у меня есть кнопка, когда я нажимаю на кнопку форма 2 будет отображаться, и мои данные отображаются на форме 2 до сих пор все в порядке, но я хочу, когда одна из форм 2 будет открыта, если пользователь нажмет на кнопку в форме 1, то закройте эту форму 2 и откройте новую! не открывайте другую форму 2 я надеюсь, что вы поймете мой вопрос :D извините за плохой английский

and here is button code :

    private void btnSave_Click(object sender, EventArgs e)
    {

            if (RadioMale.Checked == true)
            {
                jensiyat = "مرد";
            }
            else { jensiyat = "زن"; }
            if (RadioMarried.Checked == true)
                tahol = "متاهل";
            else tahol = "مجرد";
        Class1.txt +=
           "________________________\n\n" + "مشخصات مربوط به  خانم/آقای " 
           + tbFamily.Text + "\n________________________" +
            "\nنام و نام خانوادگی: " + tbName.Text + " " +
            tbFamily.Text + "\n" + "ایمیل: " + tbEmail.Text + "\n" + "شماره ملی: " +
            tbCodmeli.Text + "\n" + "سریال شناسنامه: " +
            tbSerialShenasname.Text
            + "\nشهر محل زندگی: "+ shahr + " - " + TreeShahr.SelectedNode.Text
            + "\nآدرس: " + tbAddress.Text + "\n"
            + " تحصیلات : " + ComboTahsilat.SelectedItem
            + "\nجنسیت : " +jensiyat
            + "\nوضعیت تاهل: " + tahol
            + "\nتاریخ تولد: " + BirthTimePicker.Value.ToPeString()
            + "\n__________________________________________________";

        Form frm2 = new Form2();
        frm2.Show();
    }


Что я уже пробовал:

я попробовал функцию экземпляра формы, но она не работает, она просто удерживает эту форму 2 и не позволяет открыть новую! с помощью этого кода:

public static Form2 Instance
   {
       get
       {
           if (_form2 == null)
           {
               _form2 = new Form2();
           }
           return _form2;

       }
   }

BillWoodruff

Почему вы хотите создать новый экземпляр Form2, а не повторно использовать один экземпляр ?

Какую версию C# и .NET FrameWork вы используете ?

Member 13019612

потому что я хочу обновить форму 2
я использую 4.5 .Net и 2013 visual studio

1 Ответов

Рейтинг:
9

Ralf Meier

Я бы посоветовал вам заглянуть внутрь приложения.OpenForms-коллекция, если Form2 уже открыт.