C# Закрытие окна

103
26 марта 2021, 07:40

Извиняюсь за такой тупой вопрос, но я просто разбит, что не могу понять. Программа работает так, сначала запускается форма с логотипом, а потом через некоторое время (timer) он открывает второе окно. Но он так должен работать, а по факту 1-ое окно вообще никак не хочет закрываться...

Использовал код и такой:

 private void Form1_Load(object sender, EventArgs e)
        {
//интервал(1000 = 1 сек)
            timer1.Interval = 4000;
            //запускаем таймер
            timer1.Enabled = true;
        }
        private void Timer1_Tick(object sender, EventArgs e)
        {
        timer1.Enabled = false;
       Form ifs = new Form1(); //в form_load пишем
    Form ifrm = new Form2();
    ifrm.Show(); 
        ifs.Close(); // или ifs.hide();
}

Этот код мне ничего не дал (что на 1-ом окне, что на 2-ом)

Так же пытался через такой код:

private void Timer1_Tick(object sender, EventArgs e)
        {
        timer1.Enabled = false;
        string nameP = "Form1";
        System.Diagnostics.Process[] AllProc = System.Diagnostics.Process.GetProcesses();
      foreach (System.Diagnostics.Process Optimised in AllProc)
       if (Optimised.ProcessName.Contains(nameP))
        {Optimised.Kill();}
    }

В чём моя ошибка? почему не закрывается?

Answer 1

Итак. У вас есть 2 формы, на Form1 у вас присутствует Timer В методе Form1_Load вы, допустим, задаете интервал и запускаете Timer Дальше все действия с Show/Hide форм должны происходить в методе timer1_Tick

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        timer1.Interval = 5 * 1000;
        timer1.Start();
    }
    private void Timer1_Tick(object sender, EventArgs e)
    {
        var form2 = new Form2();
        // показываем Form2
        form2.Show();
        // прячем Form1
        this.Hide();
        // останавливаем таймер
        timer1.Stop();
    }
}
READ ALSO
Аргументы в функции Replace

Аргументы в функции Replace

Возможно ли в функции Replace в качестве одно из аргумента использовать регулярное выражение? Если да, то какой синтаксис?

101
Умножение матрицы на вектор c# WPF

Умножение матрицы на вектор c# WPF

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

103
Как получить значение слайдера?

Как получить значение слайдера?

В WPF/MVVM приложении в модели нужно получить значение слайдера из формы, как это сделать? Мой метод не работает

137