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

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

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

Собственно, в ф-ции doit мне нужно закрыть данное приложение. Из-за того, что форма грузиться не должна (я даже удалил Form1_Load из кода), адекватно варианты закрытия не работают (что только не перепробовал). Все время вылетает "Приложение *appname* завершило работу".
Нужен вариант, как я могу завершить приложение из той самой ф-ции, без открытия окна завершения.
  • Вопрос задан
  • 2536 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 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);
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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