问题这样,我要在一个panel动态加载控件 (timer事件控制)每行显示三个控件
然后换行,弄了半天没弄出来求大家给各可行的算法
目前代码
int x = 0, y = 0;
public void loadTxt()
{
DirectoryInfo drInfo = new DirectoryInfo(@"C:\GatewayArchive\Cache\1122");
FileInfo[] fileImage = drInfo.GetFiles();
for (int i = 0; i < fileImage.Length; i++)
{
if (IsWhether(fileImage[i].Name))
{
Label label = new Label();
label.Tag = fileImage[i].Name;
label.Location = new Point(x, y);
label.Text = "x:" + x + "--" + "y:" + y;
panel1.Controls.Add(label);
}
if((i+1)%3==1)
{
x += 300;
y = 0;
}
if ((i + 1) % 3 == 2)
{
x += 300;
y = 0;
}
if ((i + 1) % 3 == 0)
{
x = 0;
y += 300;
}
}
}
我想要的是 第一行第一个空间 范围x是0-300 y=0; 第二个 x=300-600 y=0; 第三个 x600-900 y=0;
第二行x不变 y+=300
谁个个算法 谢谢最好可用的
不用算,直接用TableLayoutPanel,设置好行列宽高,把控件放进去就自动就排好了。