Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.99/236: Рейтинг темы: голосов - 236, средняя оценка - 4.99
wep6ak
19 / 19 / 1
Регистрация: 08.03.2011
Сообщений: 110
1

Закрыть программу

20.11.2011, 20:29. Просмотров 44654. Ответов 6
Метки нет (Все метки)

Напишите плз команду закрытия приложения, т.е. например я создал метод, в котором должно выполнятся какое-нибудь условие, а если оно не выполняется программа закрывается

C#
1
2
3
4
5
public void metod()
{
     if ( a > b ) { b++; }
     else { закрыть приложение; }
}
Я совсем недавно изучаю С# и не знаю аналог команд Exit, Break как в C++
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 20:29
Ответы с готовыми решениями:

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

Закрыть внешнюю программу
Здравствуйте! Подскажите пожалуйста, как реализовать закрытие внешней программы...

Закрыть программу при простое
Доброго времени суток. Пишу тут диплом, возникла идея, хочу сделать так, чтобы...

Закрыть программу в диспетчер задач
Помогите пожалуйста с решением этой проблемы. Сдача проекта скоро, а тут такое....

Не получается закрыть portable программу
При попытки закрыт Firefox Portable ничего не происходить, но если закрывать...

6
Vitall
756 / 536 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
20.11.2011, 20:33 2
Если приложение WindowsForm то
C#
1
this.Close();
4
wep6ak
19 / 19 / 1
Регистрация: 08.03.2011
Сообщений: 110
20.11.2011, 20:52  [ТС] 3
А если это консольное приложение ?
2
Casper-SC
Эксперт .NET
3620 / 1829 / 355
Регистрация: 27.03.2010
Сообщений: 5,139
Записей в блоге: 1
20.11.2011, 21:14 4
Лучший ответ Сообщение было отмечено как решение

Решение

Пока придумал это:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System.Text;
using System.Diagnostics;
using System.Threading;
 
namespace Cons_IComparer
{
    class Program
    {
        static void Main(string[] args)
        {
            Person[] persons = 
            { 
                new Person { FirstName = "Damon", LastName = "Hill" }, 
                new Person { FirstName = "Niki", LastName = "Lauda"}, 
                new Person { FirstName = "Ayrton", LastName = "Senna" },
                new Person { FirstName = "Graham", LastName = "Hill"}
            };
 
            //условие завершения работы программы.
            if (DateTime.Now.Hour >= 12) //просто условие, чтобы проверить работу методов завершения работы
            {
                CloseProgram(new Action(delegate
                    {
                        Console.WriteLine("Пока!");
                        Thread.Sleep(2000);
                    }));
            }
            //====================================
 
            Array.Sort(persons, new PersonComparer(PersonCompareType.FirstName));
            foreach (var p in persons)
                Console.WriteLine(p);
 
            Console.ReadKey();
        }
 
        public static void CloseProgram()
        {
            Process.GetCurrentProcess().Kill();
        }
 
        public static void CloseProgram(Action actionBeforeClosing)
        {
            actionBeforeClosing();
            CloseProgram();
        }
    }
}
Добавлено через 3 минуты
C#
1
Process.GetCurrentProcess().Kill();
Можно заменить на:
C#
1
Environment.Exit(0);
Добавлено через 7 минут
Ещё на всякий случай:
Для WPF:
C#
1
Application.Current.Shutdown();
Для Windows Forms:
C#
1
Application.Exit();
15
wep6ak
19 / 19 / 1
Регистрация: 08.03.2011
Сообщений: 110
20.11.2011, 21:24  [ТС] 5
Большое спасибо ! ! !
0
kolorotur
Эксперт .NET
10617 / 8798 / 2195
Регистрация: 17.09.2011
Сообщений: 15,073
Завершенные тесты: 1
20.11.2011, 23:20 6
Лучший ответ Сообщение было отмечено как решение

Решение

C#
1
2
System.Environment.Exit(0); // Приложение завершается и возвращает ОС указанное параметром значение
System.Environment.FailFast("Палундра!"); // Приложение моментально схлапывается, предварительно записывая строку в журнал событий.
11
Andrew1981
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 5
10.06.2016, 23:08 7
То что надо. Спасибо.
0
10.06.2016, 23:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2016, 23:08

Как не дать стороннему приложению закрыть программу
Что нужно сделать чтобы мою программу не закрывало левое приложение! Вообщем...

Написать программу, который не даст закрыть собственный процесс
Вообщем нужно написать драйвер мне который будет хукать процесс от его...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru