找回密码
 立即注册
相关推荐换一批
  1. GB/T 17686-1999 棉纤维 线密度试验方法 排列法
  2. GB/T 17603-1998 光解性塑料户外暴露试验方法
  3. GB/T 17548-1998 信息技术 POSIX 依从性的测试方法
  4. GB/T 17518-1998 化工产品中硅含量测定的通用方法还原硅钼酸盐分光光度法
  5. GB/T 17431.2-1998 轻集料及其试验方法 第2部分:轻集料试验方法
  6. GB 13917.8-1992 农药登记卫生用杀虫剂室内药效试验方法 模拟现场药效测定方法
  7. GB 13917.2-1992 农药登记卫生用杀虫剂室内药效试验方法 气雾剂的室内药效测定方法
  8. GB 13917.1-1992 农药登记卫生用杀虫剂室内药效试验方法 喷射剂的室内药效测定方法
  9. GB/T 17280-1998 原油蒸馏标准试验方法
  10. GB/T 17042-1997 航空轮胎胎圈耐高温试验方法
  11. GB/T 16886.10-2000 医疗器械生物学评价 第10部分:刺激与致敏试验
  12. GB/T 16860-1997 感官分析方法 质地剖面检验
  13. GB/T 16850.7-2001 光纤放大器试验方法基本规范 第7部分:外带插入损耗的试验方法
  14. GB/T 16850.5-2001 光纤放大器试验方法基本规范 第5部分:反射参数的实验方法
  15. GB/T 16850.3-1999 光纤放大器试验方法基本规范 第3部分:噪声参数的试验方法
  16. GB/T 16850.2-1999 光纤放大器试验方法基本规范 第2部分:功率参数的试验方法
  17. GB/T 16850.1-1997 光纤放大器试验方法基本规范 第1部分:增益参数的试验方法
  18. GB/T 16822-1997 介电晶体介电性能的试验方法
  19. GB/T 16701.1-1996 热电偶材料试验方法 第1部分:贵金属热电偶丝热电动势测量方法
  20. GB/T 16659-1996 煤中汞的测定方法
  21. GB/T 16658-1996 煤中铬、镉、铅的测定方法
  22. GB/T 16613-1996 试验用聚氯乙烯(PVC)糊的制备 分散器法
  23. GB/T 16600-1996 钨的发射光谱分析方法
  24. GB/T 16599-1996 钼的发射光谱分析方法
问题
我有一个包含 if 语句的方法:
  1. private void ValidateInputs()
  2.         {
  3.             if (txtBox_eventName.Text.Trim() == string.Empty)
  4.             {
  5.                 MessageBox.Show("Please enter a valid event name", "Action Required", MessageBoxButtons.OK, MessageBoxIcon.Error);
  6.                 txtBox_eventName.Focus();
  7.                 return;
  8.             }

  9.             if (nud_noOfGuests.Value < 10 || nud_noOfGuests.Value > 200)
  10.             {
  11.                 MessageBox.Show("Please enter no of guests between 10 and 200", "Action Required", MessageBoxButtons.OK, MessageBoxIcon.Error);
  12.                 return;
  13.             }

  14.             if (radBtn_primeRib.Checked == false && radBtn_chickenMarsala.Checked == false && radBtn_gardenLasagna.Checked == false)
  15.             {
  16.                 MessageBox.Show("Please make an Entree choice", "Action Reuired", MessageBoxButtons.OK, MessageBoxIcon.Error);
  17.                 return;
  18.             }
  19.         }
复制代码

我有第二种方法可以做其他事情。我在点击事件中调用这两种方法。如果满足第一种方法中的任何 if 条件,我想停止程序执行第二种方法。

我调用这两种方法的点击事件是:
  1. private void btn_createEvent_Click(object sender, EventArgs e)
  2.         {
  3.             ValidateInputs();            
  4.             SetValues();

  5.             calcCharges = new CateringEvent(eventName, noOfGuests, selectedEntre, barOption, wineOption);
  6.             lbl_calcEntreCharges.Text = calcCharges.EntreCharge.ToString("C2");
  7.             lbl_calcDrinkCharges.Text = calcCharges.DrinksCharge.ToString("C2");
  8.             lbl_calcSurcharge.Text = calcCharges.Surcharge.ToString("C2");
  9.             lbl_calcTotalCharges.Text = calcCharges.TotalCharge.ToString("C2");

  10.             txtBox_eventName.Enabled = false;
  11.             btn_createEvent.Enabled = false;
  12.             btn_modifyEvent.Enabled = true;
  13.         }
复制代码

我希望 ValidateInputs() 仅在 SetValues() 中的 if 条件都不起作用时运行。在这种情况下,我怎样才能做到这一点?

回答
您只需要将 ValidateInputs 方法的返回类型更改为 bool。
  1. private bool ValidateInputs()
  2. {
  3.     if (txtBox_eventName.Text.Trim() == string.Empty)
  4.     {
  5.         MessageBox.Show("Please enter a valid event name", "Action Required", MessageBoxButtons.OK, MessageBoxIcon.Error);
  6.         txtBox_eventName.Focus();
  7.         return false;
  8.     }

  9.     if (nud_noOfGuests.Value < 10 || nud_noOfGuests.Value > 200)
  10.     {
  11.         MessageBox.Show("Please enter no of guests between 10 and 200", "Action Required", MessageBoxButtons.OK, MessageBoxIcon.Error);
  12.         return false;
  13.     }

  14.     if (radBtn_primeRib.Checked == false && radBtn_chickenMarsala.Checked == false && radBtn_gardenLasagna.Checked == false)
  15.     {
  16.         MessageBox.Show("Please make an Entree choice", "Action Reuired", MessageBoxButtons.OK, MessageBoxIcon.Error);
  17.         return false;
  18.     }
  19.     return true;
  20. }
复制代码

然后将点击方法更改为:
  1. if (ValidateInputs() == false) // or if(!ValidateInputs())
  2.    return;
  3. SetValues();
复制代码






上一篇:导入json ES6 Node.js 中的扩展引发错误
下一篇:opencv imwrite,图像旋转