はい/第二の問題は、もう少し複雑ですが、それは、デリゲートを使用して解決することができているオプションなし
DialogResult dr = MessageBox.Show("Do you want to continue?",
"Your App Title",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
if(dr == DialogResult.No)
return;
を表示するために必要なすべての機能が含まれているあなたの最初のポイントMessageBox.Showによって簡単に解決することができ
Form1クラスは、Form1クラスに何かを通知する必要があるたびに、テストクラスによって呼び出される代理人を渡すテストクラスを呼び出すとします。 Form1クラスで
あなたが最初の点に関してはFormクラス
public void MultipleStepsOperation(Action<string> formNotifier)
{
string status = "Initialize ops";
if(formNotifier != null)
// Invoke is not required, just for clarity
// formNotifier(status); // the same as below...
formNotifier.Invoke(status);
....
status = "Executing step 1";
if(formNotifier != null)
formNotifier.Invoke(status);
status = "Executing step 2";
if(formNotifier != null)
formNotifier.Invoke(status);
....
}
から渡されたデリゲートを受け取るテストクラスの
を書き、MessageBox.Showの呼び出しの問題は何ですか? – Steve
これは、フォームに値を渡す方法を尋ねる多くの質問と重複しているようです。多くの可能な解決策がありますが、その多くはデリゲートを使用するより簡単です。 – user34660