Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在窗体调整大小时移动面板中的所有控件?_C#_Winforms_Layout_Controls_Resize - Fatal编程技术网

C# 如何在窗体调整大小时移动面板中的所有控件?

C# 如何在窗体调整大小时移动面板中的所有控件?,c#,winforms,layout,controls,resize,C#,Winforms,Layout,Controls,Resize,我在玩一个项目,C#NET 4,我有点被卡住了。我有一个面板,该面板将根据文件夹中的项目数量动态填充复选框,这很好 但是,当我调整窗体的大小时,我希望复选框在面板中移动,就像一个小的复选框网格,它可以占用多少空间 到目前为止,我一直没有找到一个有效的方法来做到这一点。我还没有让它完全发挥作用,但我不知道这有什么关系。我尝试的方法是资源杀手 即 int-boxCount=panel1.Size.Width/123; int x=3,y=3,i=0; foreach(控制面板1中的chkbox。控制

我在玩一个项目,C#NET 4,我有点被卡住了。我有一个面板,该面板将根据文件夹中的项目数量动态填充复选框,这很好

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

到目前为止,我一直没有找到一个有效的方法来做到这一点。我还没有让它完全发挥作用,但我不知道这有什么关系。我尝试的方法是资源杀手

int-boxCount=panel1.Size.Width/123;
int x=3,y=3,i=0;
foreach(控制面板1中的chkbox。控制)
{
如果(i
我正在寻找的东西,不把我的CPU在扼杀举行,并把我的形式成为一个3页翻页书,当我调整它的大小。作为参考,我在7中考虑了类似Windows桌面墙纸选择器的东西,减去实际控件的大小调整


我没有使用过WPF,但我可能已经开始了解了,所以我正在寻找一种花园式的Windows窗体解决方案。

听起来你在寻找。

听起来你在寻找。

a或a能满足你的需要吗?

a或a能满足你的需要吗?

工作得很好。我记得我认为应该有一个控制,但从来没有看。谢谢那很好用。我记得我认为应该有一个控制,但从来没有看。谢谢
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++;
}