c# - 重构该代码... Controls.Find 方法

标签 c# winforms refactoring

好的,我有一个代码(见下文):

    void M1()
    {
        for (int i = 1; i < 10; i++)
        {
            Control[] carr = this.Controls.Find("Number" +
                                                (i - 1).ToString() +
                                                "CheckBox", true);

            if ((carr != null) && (carr.Length > 0))
            {
                CheckBox enableCB = carr[0] as CheckBox;

                enableCB.Checked = i % 2 == 0 ? true : false; // or any other value
            }
        }
    }

我不喜欢使用 Controls.Find 方法进行迭代。我可以用更简单的东西代替它吗?

PS:表单上显示的所有 NumberXCheckBox(X>=0 和 X<=8)。

启用 LINQ、.net 3.5、Visual studio 2008。

最佳答案

您是否可以将 CheckBox 控件包装在一个容器中,而不是按名称搜索,这意味着您可以只迭代容器中的控件?

关于c# - 重构该代码... Controls.Find 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3116097/

相关文章:

c# - SQL 性能、.Net 优化与最佳实践

c# - 方法重载 : funnel call to derived class argument overload

c# - 为什么我应该使用 "About box"而不是使用表单来显示 Visual Studio 中的信息?

c# - 将项目添加到 DataGridViewComboBoxColumn

c# - Azure IoT Edge ClientModule 无法在主机模式下连接

c# - MVC 中 RadioButtonFor 的回发

c# - 翻转窗口c#.net

java - java中的构造函数重构为setter

java - 如何迭代点 (x, y) 上的序数方向?

javascript - 在 JavaScript 中重命名变量