Команда выхода из программы

Краткое описание методов выхода из программы WinForm на C #

1. Закройте форму

Есть много способов выйти из программы WinForm в C #, например: this.Close (); Application.Exit (); Application.ExitThread (); System.Environment.Exit (0); Подождите, пока их соответствующие методы будут отличаться, давайте Расскажем о нем подробнее. Чтобы

1. this.Close (); Он просто закрывает текущее окно. Если это не главное окно, из программы нельзя выйти. Кроме того, если есть управляемый поток (не основной поток), он не может выйти чисто;

2.Application.Exit (); принудительно остановить все сообщения и закрыть все окна, но если есть управляемый поток (а не основной поток), он не может выйти чисто;

3.Application.ExitThread (); принудительно завершить все сообщения в вызывающем потоке, а также столкнуться с проблемой, что другие потоки не могут выйти правильно;

4.System.Environment.Exit (0); Это наиболее полный способ выхода, независимо от того, какой поток принудительно завершен, программа завершается очень чисто.

DevelNext #6 — Команда для выхода из программы (без программирования)

2. Закрытие формы входа и основной формы.

Многие люди столкнутся с этой проблемой при использовании C # в качестве формы входа в систему.После успешного входа текущая форма входа закрывается и открывается главная форма, но программа все еще выполняется после того, как основная форма нажимает кнопку закрытия. Чтобы

Фактически, закрытие основной формы закрывает только поток основной формы, но не закрывает основной поток программы, то есть основной поток программы — это вход в систему From. Чтобы

Метод 1: (FrmLogin — это форма входа, FrmMain — основная форма) // Событие нажатия кнопки «Войти» в форме входа

private void button1_Click(object sender, EventArgs e) < if (txtName.Text == «123456») < FrmMain fm = new FrmMain(); fm.Show(); this.Dispose(false); >>
// Событие FormClosing или код события FormClosed главной формы private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) < Application.Exit(); >// Код события FormClosed главной формы private void FrmMain_FormClosed(object sender, FormClosedEventArgs e)

Читайте также:
Outlook не является программой используемой по умолчанию постоянно вылазит

Примечание. Выберите одно из событий FormClosing или FormClosed.Разница между ними заключается в том, что FormClosed возникает после закрытия, и действие закрытия формы нельзя отменить;

FormClosing происходит перед закрытием и может быть отменен, если вы используете e.Cancel = true; для предотвращения закрытия окна. Чтобы

Продвинутые навыки: перед выходом из программы появляется диалоговое окно для подтверждения выхода из программы // Код события FormClosing основной формы

private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) < if (MessageBox.Show («Вы действительно хотите выйти из программы?», «Выйти из программы», MessageBoxButtons.OKCancel) == DialogResult.Cancel) < e.Cancel = true; >> //// FormClosed код события главной формы private void FrmMain_FormClosed(object sender, FormClosedEventArgs e) < Dispose(); Application.Exit(); >Советы: Следующий код вызовет два диалоговых окна для подтверждения для выхода. Если нажать «ОК» в первый раз и щелкнуть любое из них, для выхода. private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) < if (MessageBox.Show («Вы действительно хотите выйти из программы?», «Выйти из программы», MessageBoxButtons.OKCancel) == DialogResult.OK) < Application.Exit(); >else < e.Cancel = true; >>

Анализ: после первого нажатия кнопки «ОК» диалогового окна выхода Application.Exit (); вызовет второе событие FrmMain_FormClosing (), поэтому будут отображены два диалоговых окна для подтверждения выхода, но второе Выбор диалогового окна не влияет на выход. Его можно изменить, чтобы судить, не кнопка ли это подтверждения, тогда e.Cancel = true; кнопка подтверждения ничего не пишет и не оценивает, если вы хотите добавить Application.Exit (); вы можете добавить его в событие FormClosed формы в.

На выход! | Выпуск 16

//program.cs Код метода Main () входа в программу, где FrmLogin — форма входа в систему, а FrmMain — основная форма

static void Main() < Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); FrmLogin fl = new FrmLogin(); if (fl.ShowDialog() == DialogResult.OK) < Application.Run(new FrmMain()); >> // Код кнопки «Войти» в форме входа private void button1_Click(object sender, EventArgs e) < if (txtName.Text == «123456») < this.DialogResult = DialogResult.OK; this.Close(); >>

Читайте также:
Значение какого числового выражения можно вычислить на микрокалькуляторе по программе

Источник: russianblogs.com

C Урок 18. Инструкции break, continue, оператор goto и метки

Составляя алгоритм нашего проекта, порой нам хочется, а иногда и это и необходимо, повлиять на ход программы во время её выполнения каким-то нестандартным образом: досрочно выйти из тела условия или цикла, пропустить итерацию в цикле, а также перейти вообще в любое место программы. Для этого существуют определённые инструменты — это инструкции break, continue, а также оператор goto.

break — это инструкция, которая вызывает немедленный выход из самого внутреннего из окружающих её циклов.

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

continue — инструкция, которая заставляет цикл, в теле которого она используется, прервать текущую итерацию и начать новую.

Данная инструкция используется реже, чем break.

goto — инструкция, позволяющая совершить переход в то место программы, в котором установлена метка, имя которой следует сразу же после оператора goto.

Метка — это идентификатор, за которым следует двоеточие, обозначающий место в программе, на которое можно перейти с помощью инструкции goto из любого места программы.

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

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

Проект сделан был из проекта MYPROG17 прошлого занятия и имя ему было присвоено MYPROG18.

Откроем файл main.c и в функции main(), как обычно, удалим весь код тела кроме возврата нуля, останется от него вот это

int main()

return 0 ; //Return an integer from a function

Функции int_to_binary, my_div и my_sum удалим вместе с телами, также удалим все макросы.

Попробуем в нашем коде сочинить что-то наподобие меню.

Читайте также:
Как создать программу которая будет выполнять действия

В функции main() добавим небольшой строковый массив

Источник: narodstream.ru

2.2. Выход из программы

Завершить программу можно следующими способами: − через функцию 4CH (EXIT) прерывания 21H в любой момент, независимо от значений регистров; − через функцию 00H прерывания 21H или прерывание INT 20H, когда CS указывает на PSP. Функция DOS 4CH позволяет возвращать родительскому процессу код выхода, который может быть проверен вызывающей программой или командой COMMAND.COM «IF ERRORLEVEL». Можно также завершить программу и оставить ее постоянно резидентной (TSR), используя либо INT 27H , либо функцию 31H (KEEP) прерывания 21H. Последний способ имеет те преимущества, что резидентный код может быть длиннее 64K, и что в этом случае можно сформировать код выхода для родительского процесса.

3. Ассемблер, макроассемблер, редактор связей

Существует несколько версий программы ассемблер. Одним из наиболее часто используемых является пакет Turbo Assembler, водящий в состав комплекса программ Borland С++. Рассмотрим работу с этим пакетом более подробно. Входной информацией для ассемблера (TASM.EXE) является исходный файл — текст программы на языке ассемблера в кодах ASCII.

В результате работы ассемблера может получиться до 3-х выходных файлов: 1) объектный файл – представляет собой вариант исходной программы, записанный в машинных командах; 2) листинговый файл – является текстовым файлом в кодах ASCII, включающим как исходную информацию, так и результат работы программы ассемблера; 3) файл перекрестных ссылок – содержит информацию об использовании символов и меток в ассемблерной программе (перед использованием этого файла необходима его обработка программой CREF). Объектному файлу ассемблер присваивает то же имя, что и у исходного, но с расширением OBJ; для листингового файла и файла перекрестных ссылок принимается значение NUL — специальный тип файла, в котором все, что записывается, недоступно и не может быть восстановлено. Если ассемблер во время ассемблирования обнаруживает ошибки, он записывает сообщения о них в листинговый файл. Кроме того, он выводит их на экран дисплея.

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru