От не закрытия при вызове 2-й формы после этого. Close () - PullRequest
0 голосов
/ 09 октября 2018

У меня есть форма1, которая открывает форму2, которая открывает форму3.Я хочу вернуться в форму1 из формы3, используя кнопку.

форма1

private void form2button_Click(object sender, EventArgs e)
{
    this.Hide();
    form2 f2 = new form2();
    f2.ShowDialog();
    this.Show();
}

форма2

private void form3button_Click(object sender, EventArgs e)
{
    this.Close();
    form3 f3 = new form3();
    f3.ShowDialog();
}
private void exitbutton_Click(object sender, EventArgs e)
{
    this.Close();
}

форма3

private void mainmenubutton_Click(object sender, EventArgs e)
{
    this.Close();
}
private void backbutton_Click(object sender, EventArgs e)
{
    this.Close();
    form2 f2 = new form2();
    f2.ShowDialog();
}

Но когдав form3, после нажатия кнопки «Назад», она показывает form2, но form3 все еще находится в фоновом режиме.Я исправил это, добавив this.Hide(); до this.Close();

Я хотел бы знать логику, почему это происходит.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Если я вас правильно понимаю, то это то, что вам нужно, чтобы вернуться к первой форме:

form1:

private void form2button_Click(object sender, EventArgs e)
{
    this.Hide();
    Account form2 = new Account();
    form2.ShowDialog();
    this.Show();
}

form2:

    private void form3button_Click(object sender, EventArgs e)
    {
        this.Hide();
        form2 f2 = new form2();
        f2.ShowDialog();
        this.Close();

    }
    private void exitbutton_Click(object sender, EventArgs e)
    {
        this.Close();
    }

form3:

private void mainmenubutton_Click(object sender, EventArgs e)
{
    this.Close();
}
private void backbutton_Click(object sender, EventArgs e)
{
    this.Close();
}

Также есть ли разница между этим.Hide ();и Скрыть ();?

Нет, разницы нет

0 голосов
/ 09 октября 2018

Есть ли способ, чтобы он отображался в одной и той же позиции?

form2 f1 = new form2();
f1.Location = Location; //location of any form, it also clould be f3.Location if it is exists
f1.ShowDialog();

Также есть ли разница между этим.Hide ();и Скрыть ();?

Нет, нет.

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