2013-05-21 49 views
-1

我有一个包含flowlayoutpanel的表单,并将用户控件A添加到面板。在用户控件A的构造函数中,传递了指向同一个flowlayoutpanel的指针,以便用户控件A在同一个flowlayout面板中创建另一个用户控件B.的问题是,用户控件B被首先加入,然后A.从c#中的另一个对象创建的对象的形式

Form1.cs的

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void addBtn_Click(object sender, EventArgs e) 
    { 
     flowLayoutPanel1.Controls.Add(new Graphic1(this.flowLayoutPanel1)); 


    } 
} 

Graphic1.cs

public partial class Graphic1 : UserControl 
{ 
    public Graphic1(FlowLayoutPanel flowPointer) 
    { 
     InitializeComponent(); 

     flowPointer.Controls.Add(new Graphic2()); 
    } 
} 

Graphic2.cs只是一个标签

问题是在Graphic1.cs之前添加Graphic2.cs在面板

+0

为什么在控制A之前添加控制B是一个问题? – Kane

+0

代码将有助于提供更好的解决方案 –

+0

这是非常不清楚的,并且缺少您尝试过的代码 –

回答

0

我看到三个可能的lutions:

  • 如果控制A的构造接收流布局面板,具有控制将A加本身到流布局面板,然后添加它的附加控件。
  • 而不是增加在控制A的构造的附加控制,添加一个方法如InitializeLayout控制A.可以调用该方法后增加控制A向流布局面板,并且该方法然后可以添加任何流布局面板的附加控制。
  • 捕获对控件A的Parent属性的任何更改(不确定这是否可能;这取决于您正在使用的GUI工具包),并在控件A的父项发生更改时添加其他控件。
+0

完美的,尝试过的选项A和工作:) – user2029200

相关问题