2010-08-07 124 views
1

我正在玩一个项目,C#.NET 4,我有点卡住了。我有一个面板,将根据文件夹中的项目数量动态填充复选框,这很好。如何在窗体大小调整中移动面板中的所有控件?

但是,当我调整窗体大小时,我希望复选框在面板中移动,就像复选框的一个小网格一样,它占用了多少空间。

到目前为止,我一直没有找到一个有效的方法来做到这一点。我还没有完成它的工作,但我不知道这很重要。我正在尝试的方法是资源杀手。

即。

int boxCount = panel1.Size.Width/123; 
int x = 3, y = 3, i = 0; 

foreach (Control chkbox in panel1.Controls) 
{ 

     if (i < boxCount) 
     { 
      chkbox.Location = new Point(x, y); 
      x += 123; 
     } 
     else 
     { 
      i = 0; 
      x = 3; 
      y += 123; 
      chkbox.Location = new Point(x, y); 
     } 

     i++; 
} 

我正在寻找的东西,不把我的CPU在一个扼流圈保持和把我的形式进入第3页翻转书,当我调整其大小。作为参考,我有一个像Windows桌面壁纸选择器的东西,减去实际控件的大小。

我还没有与WPF合作,但我很可能已经开始显示光线,所以我正在寻找一个花园多种Windows窗体解决方案。

回答

4

这听起来像你正在寻找FlowLayoutPanel

+0

+1。你更快。 – David 2010-08-07 06:11:53

+0

精美的作品。我记得认为应该有一个控制这个,但从来没有看。谢谢! – Ryan 2010-08-07 18:22:13

相关问题