2013-05-13 19 views
1

的重疊:C#的FlowLayout列表框,我有這樣的按鈕

class MyPanel : FlowLayoutPanel 
{ 
    public MyPanel() 

    { 
     this.BackColor = Color.Red; 
     this.FlowDirection = System.Windows.Forms.FlowDirection.LeftToRight; 

     listBox = new ListBox(); 

     editButton = new Button(); 
     //editButton.Click += editButton_Click; 

     this.Controls.Add(listBox); 
     this.Controls.Add(editButton); 
    } 
} 

,然後我加入到我的形式動態。問題是listBox重疊按鈕。但是,如果我嘗試添加2個按鈕而不是列表,它按照應有的方式工作 - 按鈕從左到右按1行組織。我想要將按鈕置於列表旁邊。有人可以給我建議嗎?由於

回答

1

試試這個代碼:

class MyPanel : FlowLayoutPanel 
{ 
    public MyPanel() 

    { 
     this.BackColor = Color.Red; 
     this.FlowDirection = System.Windows.Forms.FlowDirection.LeftToRight; 

     listBox = new ListBox(); 

     this.WrapContents = false; // Use this for control not wrapped 
     editButton = new Button(); 


     this.Controls.Add(listBox); 
     this.Controls.Add(editButton); 
    } 
} 
0

給出一個大小的動態添加MyPanel對象。它會解決你的問題。

private void Form1_Load(object sender, EventArgs e) 
{ 
    MyPanel p = new MyPanel(); 
    p.Size = new Size(500, 200); //give size 
    this.Controls.Add(p); // add to form 
}