WinForms:控制中的递归访问控制

时间:2018-01-11 13:54:34

标签: c# winforms recursion

我尝试让我的WinForms应用程序响应。为此,我使用此class。如果我的所有控件都直接在我的表单上,那么它的工作正常,但是当我将控件置于控件中时,它不起作用,因为我的函数不是递归的,我不知道该怎么做。

这是我的代码

foreach (Control Ctl in this.Controls)
{                    
    if (Ctl is PictureBox)
    {
        Ctl.Width = ResponsiveObj.GetMetrics(Ctl.Width, "Width");
        Ctl.Height = ResponsiveObj.GetMetrics(Ctl.Height, "Height");
        Ctl.Top = ResponsiveObj.GetMetrics(Ctl.Top, "Top");
        Ctl.Left = ResponsiveObj.GetMetrics(Ctl.Left, "Left");
    }
    else
    {
        Ctl.Font = new Font(FontFamily.GenericSansSerif, ResponsiveObj.GetMetrics((int)Ctl.Font.Size), FontStyle.Regular);
        Ctl.Width = ResponsiveObj.GetMetrics(Ctl.Width, "Width");
        Ctl.Height = ResponsiveObj.GetMetrics(Ctl.Height, "Height");
        Ctl.Top = ResponsiveObj.GetMetrics(Ctl.Top, "Top");
        Ctl.Left = ResponsiveObj.GetMetrics(Ctl.Left, "Left");
    }
}

我想让这个递归,以确保我在我的表单中的所有控件上做的东西。请有人帮我这样做吗?

0 个答案:

没有答案