通过引用控制索引器来传递方法来改变它的属性

时间:2015-12-20 12:03:52

标签: methods properties controls ref indexer

我制作了一个程序,其中包含很多控件。根据用户的选择显示和隐藏控件。这意味着控件在设计时相互重叠。现在我想在设计时更改所有控件的前景色和背景色。但我很难完成这项任务,因为所有的控制都相互重叠。所以我决定使用for循环方法来迭代表单中的控件,然后依次检查每个控件是否有控件。当控件中还有控件时,我调用相同的方法并将控件传递给它以更改子控件的属性。方法如下:

void setColor(ref Control con)
        {
            con.BackColor= System.Drawing.Color.Black;
            con.ForeColor=System.Drawing.Color.Yellow;
            if (con.Controls.Count > 0) { setColor(ref con); }
        }

所以我的表单包含带有多个tabPages的tabControl。我迭代tabPages并希望将它传递给这个方法,但我变成了错误“索引器可能不会作为out或ref参数传递” 我把它传递给了setColor(ref tabControl1.Controls[i]);

你能帮我解决这个问题吗?

0 个答案:

没有答案