進捗バーのフィードバックを使用して特定のボタンをクリックした後にcmdを使用してsumコマンドを実行するアプリケーションを作成しています。私が直面している問題は、進行状況バーがプロセスと同時に動作していないということです。コードが実行中の進行状況をプログレスバーに表示することを意味します。それがしているのは、cmdでコードの実行が終了すると、プログレスバーに100%の完了が表示されるということです。完了後、メッセージボックスがポップアップしています。ボタンがクリックされたときに最初にメッセージを表示し、プロセスが終了したら別のメッセージを表示する必要があります。プロセス終了メッセージは機能していますが、開始メッセージは機能していません。助けてください。前もって感謝します。C#のVisual Studio 2013のプログレスバーが実行中のcmdコードと同期
private void button11_Click(object sender, EventArgs e)
{
Process p = new Process();
progressBar1.Value = 0;
p.StartInfo.FileName = "cmd";
p.StartInfo.Arguments = "/c fastboot flash system system.img";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.WaitForExit();
progressBar1.PerformStep();
String sr = p.StandardOutput.ReadToEnd();
label7.Text = sr;
if (progressBar1.Value != 10)
{
MessageBox.Show("Flashing System. Please Wait");
}
else if (progressBar1.Value == 10)
{
MessageBox.Show("Done System Flashing");
}
}
これは、 'p.WaitForExit(); 'というプロセスをブロックしているためです。 –
その行を削除してください。そして、メッセージボックスのポップアップに関する何かを提案してください。 –