2013-05-21 87 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

相關問題