3

Labelsいくつかのタイプのコントロールを含む C# フォームがあります。このコードをすべてループして再親化します。

private void MakeAllLabelTrans(Control frm, Control parent)
{
    foreach (Control ctl in frm.Controls)
    {
        if (ctl is Label)
        {
            ctl.Parent = parent;
            // ctl.BackColor = Color.Transparent;
        }
        else if (ctl.HasChildren)
        {
            MakeAllLabelTrans(ctl, parent);
        }
    }
}

そして次のように呼び出します:MakeAllLabelTrans(this, picBackground);Form_Loadイベントで、しかしいくつかのラベルが見逃されました(ループ本体にメッセージボックスを入れました-実際にはループにはありません)が、理由がわかりませんか?

4

2 に答える 2