同じ関数の変更されたバージョンを呼び出す 2 つの異なるボタン クリックがあります...
private void button1_Click(object sender, EventArgs e)
{ SendEmail(); }
private void button2_Click(object sender, EventArgs e)
{ SendRevisedEmail();}
public void SendEmail()
{
DataManip(ref item1, ref item2); //This is where I'd like the next 2 functions to not process if this one fails.
UpdateDB(ref item1, ref item2);
sendTechEmail(ref item1, ref item2);
}
public void SendRevisedEmail()
{
DataManip(ref item1, ref item2); //This is where I'd like the next 2 functions to not process if this one fails.
UpdateDB2(ref item1, ref item2);
sendRevisedTechEmail(ref item1, ref item2);
}
このDataManip
関数では、フォームでいくつかのチェックを実行し、ポップアップ メッセージをスローして戻るように設定しています。で出てこない場合flag1 = true
。
public void DataManip(ref string item1, ref string item2)
{
bool flag1 = false;
foreach (Control c in groupBox1.Controls)
{
Radiobutton rb = c as RadioButton;
if rb != null && rb.Checked)
{
flag1 = true;
break;
}
}
if (flag1 == true)
{
//Manipulate Data here
}
else if (flag1 != true)
{
MessageBox.Show("You didn't check any of these boxes!");
return;
};
}
現時点では、flag1 チェックインは正常にDataManip
機能します。groupBox1 にエントリがない場合、データの変更が処理されないことを確認できます。
問題は、SendEmail()
およびSendRevisedEmail()
関数内で、 の後に他の関数の呼び出しをまだ処理していることDataManip(ref item1, ref item2)
です。
DataManip
エラーを発生させて、他の 2 つの関数呼び出しの実行を防止/スキップするにはどうすればよいですか?