怎么写得正确?

时间:2015-03-05 23:06:49

标签: c#

我刚刚意识到的这些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();
        }

1 个答案:

答案 0 :(得分:0)

您可以为多个控件使用一个事件处理程序。

对于第一个组,您要将值集CheckedChanged事件检查到将调用RevokeAssignments()的第一个处理程序,并为第二个组创建第二个处理程序,它将执行RevokeQueues()。