Закрыть форму после выполнения программы - 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();