Задать вопрос
@danij_com

Как завершить приложение winforms?

Здравствуйте.
Имеется приложение c# winforms. Весь нужный код выполняется функциями еще до загрузки самой формы (по идее), выглядит так:
public Form1()
{
            this.Opacity = 0;
            this.ShowInTaskbar = false;
            this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
            doit();
}

Собственно, в ф-ции doit мне нужно закрыть данное приложение. Из-за того, что форма грузиться не должна (я даже удалил Form1_Load из кода), адекватно варианты закрытия не работают (что только не перепробовал). Все время вылетает "Приложение *appname* завершило работу".
Нужен вариант, как я могу завершить приложение из той самой ф-ции, без открытия окна завершения.
  • Вопрос задан
  • 2586 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
Griboks
@Griboks Куратор тега C#
Удалите весь код, связанный с формой. Сделайте метод инициализации статическим. В настройках проекта укажите тип "консольное приложение", а точкой входа метод инициализации.
Ответ написан
Комментировать
arxont
@arxont
C# программист
Если при Application.Exit идёт вылет, то посмотрите на событие FormClosing. Видимо в нём что-то делается, а вообще запустите в дебаг режиме и покажите полностью ошибку.

PS: В качестве костыля можете использовать Environment.Exit(0);
public Form1()
        {
            InitializeComponent();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
           Application.Exit();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Environment.Exit(0);
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы