Закрыть форму после выполнения программы - C#
Формулировка задачи:
Здравствуйте.
В моем решении(solution) учавствуют несколько проектов(projects).
2 формы.То есть 2 исполняемых файла.
Через 1 форму запускаю файл 2 формы и делаю ее невидимой.
Подскажите пожалуйста как после этого действия сразу закрыть 1 форму.
При нажатии на кнопку нормально все работает. а при вызове из Form1 ошибка в Program.cs
An unhandled exception of type 'System.ObjectDisposedException' occurred in System.Windows.Forms.dll
Additional information: Cannot access a disposed object.
В строке:
Вроде как форма еще не загрузилась.
Мне надо чтоб форма сразу закрылась после выполнения этих действий.
Пробовал таймеры,потоки Thread.Sleep, все равно не закрывает
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Threading; namespace Invisible { public partial class Form1 : Form { private const string processFileName = "Form2.exe"; public readonly Process Proces; public Form1() { InitializeComponent(); ProcessStartInfo info = new ProcessStartInfo(processFileName) { WindowStyle = ProcessWindowStyle.Hidden }; Proces = new Process { StartInfo = info }; if (Proces.Start()) { this.Close(); } } private void button1_Click(object sender, EventArgs e) { Close(); } } }
Application.Run(new Form1());
Решение задачи: «Закрыть форму после выполнения программы»
textual
Листинг программы
ProcessStartInfo info = new ProcessStartInfo(processFileName) { WindowStyle = ProcessWindowStyle.Hidden }; Proces = new Process { StartInfo = info }; try { process.Start(); } catch (Exception) { MessageBox.Show("Не удалось запустить другую форму."); return; } this.Close();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д