0

たとえば。私のコードは

void abc(usercontrolclass ucc)
{
   this.panel.Controls.Add(ucc);
}

void def()
{
  usercontrolclass ucc1 = this.panel.Controls.GetChildUserControl(ucc);

}

「GetChildUserControl」は有効な関数ではないことに注意してください。必要なのは、ucc を取得するために使用できるメソッドまたは関数です。

4

2 に答える 2

2

1 - ユーザー コントロールtagプロパティを設定します。

2 - ユーザー コントロールをその親に追加します。

Tag3 -繰り返して、親からプロパティによってユーザー コントロールを取得しますControl.Controls

コードは次のようになります。

void AddControl(UserControl control, int id)
{
    control.Tag = id;
    this.panel.Controls.Add(control);
}

UserControl GetControl(int id)
{
    foreach (Control control in this.panel.Controls)
    {
        if (id == (int) control.Tag)
            return (UserControl) control;
    }
    return null;
}

// or using LINQ
UserControl GetControl(int id)
{
    return Controls.Cast<UserControl>()
                   .FirstOrDefault(control => id == (int) control.Tag);
}
于 2012-07-31T06:25:06.557 に答える
0

ユーザー コントロールも「単なる」コントロールであるため、子コントロールを持つ Controls プロパティがあります。これを使って。

ここここを参照してください。

于 2012-07-31T06:18:11.793 に答える