別のスレッドから、フォームのウィンドウの状態を変更する方法を知っている人はいますか? これは私が使用しているコードです:
private void button4_Click(object sender, EventArgs e)
{
string pathe = label1.Text;
string name = Path.GetFileName(pathe);
pathe = pathe.Replace(name, "");
string runpath = label2.Text;
Process process;
process = new Process();
process.EnableRaisingEvents = true;
process.Exited += new System.EventHandler(process_Exited);
process.StartInfo.FileName = @runpath;
process.StartInfo.WorkingDirectory = @pathe;
process.Start();
WindowState = FormWindowState.Minimized;
}
private void process_Exited(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
}
プログラムを実行して最小化し、プログラムが閉じたら通常の状態に戻ることを意図しています。このエラーが表示されますが、「クロススレッド操作が無効です: コントロール 'Form1' は、作成されたスレッド以外のスレッドからアクセスされました。」これを機能させる方法はありますか?