我正在玩一个项目,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页翻页。作为参考,我想到了7个Windows桌面壁纸选择器,减去了实际控件的大小调整。
我没有使用WPF,但我很可能会开始看到它,所以我正在寻找一种花园式的Windows Forms解决方案。