x(変更)秒後にデータベーステーブルYのデータが変更されるプロセスを開始するフォームにボタンがあります。InitializeGridView()前述のテーブルYを示すDGVをリフレッシュします。問題は、プロセスの前にInitializeGridView()が終了するため、プロセスによって加えられた変更が反映されないことです。 InitializeGridViewをプロセスが完了するまで待機させるにはどうすればよいですか?タイミングの問題 - プロセスがデータを修正する前にDGVがリフレッシュされる
private void btRunProcessAndRefresh_Click(object sender, EventArgs e){
Process.Start(@"\\fileserve\department$\ReportScheduler_v3.exe", "12");
InitializeGridView();
}
EDIT
私は次のようになってしまいました。問題は、プロセスが10分かかると、アプリケーションは10分間凍結されるということです。私はマルチスレッドの方法を学ぶ必要があると思う!
private void btRunReport_Click(object sender, EventArgs e){
Process p = new Process();
p.StartInfo.FileName = @"\\fileserve\department$\ReportScheduler_v3.exe";
p.StartInfo.Arguments = "12";
p.Start();
p.WaitForExit();
InitializeGridView();
}
ありがとうございます。Nico - 私はHenkの投稿で提供されているコードを編集しました。本当に問題のポストのコードを修正しているはずですが、私はうまくいけにえだとうまくいけにえです。 – whytheq