Member 13675772 Ответов: 3

Как закрыть form2 с помощью form1?


How to Close form2 using form1?


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

частная button_click появилась недействительным (объект отправителя, EventArgs в электронной)
если (Радио1.Проверен)
{
Close frm2 = новое закрытие();
Ф2.Рядом();
}

3 Ответов

Рейтинг:
21

BillWoodruff

Предполагая, что это так:

1. WinForms

2. Форма1-это основная форма, которая создала и сделала видимым
'форма f2

3. кнопки и переключатели находятся на form1

private void button_Click (object sender, EventArgs e)
{    
    if (radio1.Checked)
    {
        if(f2 != null) f2.Close();
    }
}
Следует ли вам использовать здесь флажок ? Зачем тебе вообще нужна пуговица ? Идея, что вы проверяете что-то, чтобы избавиться от него, кажется странной.

Подумайте, стоит ли вам прятаться, а не закрываться, 'f2.

... редактировать ... Пример флажка
Form2 f2 = new Form2();

const string CbxShowTxt = "Show Second Form";
const string CbxHideTxt = "Hide Second Form";

private void Form1_Load(object sender, EventArgs e)
{
    checkBox1.Text = CbxShowTxt;
    checkBox1.Checked = false;
}

private void checkBox1_CheckStateChanged(object sender, EventArgs e)
{
    if (checkBox1.Checked)
    {
        f2.Show();
        checkBox1.Text = CbxHideTxt;
    }
    else
    {
        f2.Hide();
        checkBox1.Text = CbxShowTxt;
    }
}
... конец редактирования ...


Member 13675772

Мой друг, если только флажок? если я проверил переключатель, как я закрою форму 2 с помощью формы 1?

BillWoodruff

Мы не можем читать ваши мысли :) опишите, что вы делаете более подробно: верны ли мои предположения ?

Несколько радиокнопок в одном и том же элементе управления контейнером используются там, где вы хотите, чтобы пользователь выбрал только одну из многих.

Member 13675772

У меня есть 2 монитора моего друга. Я делаю дисплей, который является моей формой 1-это мой контроллер. То, что я хочу, - это когда я нажимаю кнопку с проверенным переключателем или только проверенным радио, тогда появится форма 2, и мой контроллер все еще должен оставаться, а затем, когда я проверю 2-е радио, форма 2 исчезнет, и мой контроллер снова должен все еще оставаться... Спасибо, что помог моему другу, я его оценил...

BillWoodruff

Я добавил пример использования флажка для переключения видимого состояния вторичной формы в приведенное выше решение.

Member 13675772

Спасибо, мой друг!!! Это работает!!! хе-хе.... Хорошая работа...

BillWoodruff

Если это решение действительно соответствует вашим потребностям, подумайте о том, чтобы принять его.

Praveen_P

@BillWoodruff +5

Рейтинг:
1

PsychoFader

попробовать это...

if (radio1.Checked == true)
{
Form1 frm = new Form1();
frm.Show();
this.Hide();
}


Member 13675772

Основная форма, которая является формой 1, закроет моего друга... Мне нужно только закрыть форму 2, используя форму 1.

Рейтинг:
0

Praveen_P

Попробуй вот так

Form2 obj = (Form2)Application.OpenForms["Form2"];
obj.Close();


Member 13675772

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

Praveen_P

Дорогой друг в то время, когда вы опубликовали вопрос, вы ничего не упомянули о переключателе и не предоставили никакого фрагмента кода, Вы просто опубликовали "как закрыть форму 2 с помощью формы 1?", а позже вы обновили свой вопрос, я опубликовал это решение до того, как вы обновили свой вопрос (возможно, из-за этого вы понизили мой ответ :) ). Как заметил мой друг Билл Вудрафф я не могу читать твои мысли :)