首页 > 解决方案 > 给定一个开始和要填充的复选框数量,如何填充复选框?

问题描述

我一直在为此考虑一个有效的解决方案,但我找不到方法,我在一个组框中有 8 个复选框,我想检查其中一些给定一个开始复选框和要填充的后续复选框的数量。

public void modifyDigitalPins(byte adress, byte lenght)
{
    int startPin = (byte)adress;
    int numberPins = (byte)lenght;

    foreach(CheckBox a in groupBox2.Controls)
    {

    }
}

标签: c#winforms

解决方案


假设它们通过“checkBox8”被称为“checkBox1”,您可以执行以下操作:

public void modifyDigitalPins(byte address, byte length)
{
    int startPin = (byte)address;
    int numberPins = (byte)length;

    for(int i=1; i <= numberPins; i++)
    {
        Control ctl = this.Controls.Find("checkBox" + (startPin + (i - 1)).ToString(), true).FirstOrDefault();
        if (ctl != null && ctl is CheckBox)
        {
            CheckBox cb = (CheckBox)ctl;
            cb.Checked = true;
        }
    }
}

如果您的控件遵循不同的命名方案,这可以很容易地修改。


推荐阅读