【发布时间】:2011-03-26 15:40:47
【问题描述】:
我正在玩一个项目,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 窗体解决方案。
【问题讨论】:
标签: c# winforms layout controls resize