Как скрыть форму от основной формы - PullRequest
0 голосов
/ 26 октября 2011

Я весь день настраивал свою программу, и у меня возникла проблема с скрытием формы, которая выскакивает со словами «Пожалуйста, подождите»

Например:

    private void button12_Click(object sender, EventArgs e)
    {
        form2 wait = new form2();
        pw.Show();
    }
    private void button13_Click(object sender, EventArgs e)
    {
        form2 wait = new form2();
        pw.Hide();
    }

Это не будет работать, хотя я уверен, что это не новость для обычного программиста C #. Есть ли простой способ сделать то, что я пытаюсь? Я пытался искать в Интернете, и я нашел что-то, хотя я не был уверен на 100%, что они пытались сделать. Я собирался найти пример, чтобы показать вам, но я закрыл страницу - Типично. Тем не менее, я думаю, что они пытались переиграть шоу и дать вам контроль над .show с помощью bool?

1 Ответ

4 голосов
/ 28 октября 2011

Код работает не так, как вы ожидаете, потому что form2 внутри button12_Click отличается от form2 внутри button13_click. Обратите внимание, что вы используете ключевое слово new дважды. Таким образом, в button13_click вы создаете новый form2, а затем скрываете его, даже если вы еще не показали его!

Вместо этого вы можете создать один form2 экземпляр для совместного использования двумя вашими методами:

//define this code outside both of the methods below
form2 _waitForm = new form2();

private void button12_Click(object sender, EventArgs e)
{
    _waitForm.Show();
}
private void button13_Click(object sender, EventArgs e)
{
    //this will hide the same form2 that was shown in button12_Click
    _waitForm.Hide();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...