我刚刚意识到的这些If语句是完全错误的。 如果有chkbx.CheckedChanged,我只需要调用RevokeAssignments()方法或RevokeQueues()方法。因此,基本上如果您更改复选框的状态,选中或取消选中它将识别哪些已经检查过,现在不再调用,然后调用这些方法。
它是一个C#程序,VS2013中的WINFORM .. 感谢提前
那么,如何编写能够正确调用这些方法的代码?我是否必须为每一个可能的变化写一个if语句?因为这似乎是多余的。
if (chkbxConsolepld.Checked == true || chkbxDFwov.Checked == true || chkbxFloorMat.Checked == true || chkbxGeopointeAd.Checked == true
|| chkbxGeopointeBP.Checked == true || chkbxJobCC.Checked == true || chkbxNewJob.Checked == true || chkbxPOPro.Checked == true
|| chkbxReportEd.Checked == true || chkbxSalesAccQ.Checked == true || chkbxServMax.Checked == true || chkbxWordOrdDel.Checked == true)
{
RevokeAssignments();
}
if (chkbxAtlanta.Checked == true || chkbxDallas.Checked == true || chkbxDallasCC.Checked == true
|| chkSouthernCities.Checked == true || chkbxPending.Checked == true || chkbxClosedCanc.Checked == true)
{
RevokeQueues();
}
答案 0 :(得分:0)
您可以为多个控件使用一个事件处理程序。
对于第一个组,您要将值集CheckedChanged
事件检查到将调用RevokeAssignments()的第一个处理程序,并为第二个组创建第二个处理程序,它将执行RevokeQueues()。