首页 新闻 会员 周边

C# 控件排列算法

0
悬赏园豆:5 [已解决问题] 解决于 2012-09-04 17:30

问题这样,我要在一个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

谁个个算法 谢谢最好可用的


 

不起名字了的主页 不起名字了 | 初学一级 | 园豆:25
提问于:2012-08-23 09:53
< >
分享
最佳答案
0

不用算,直接用TableLayoutPanel,设置好行列宽高,把控件放进去就自动就排好了。

收获园豆:5
向往-SONG | 老鸟四级 |园豆:4853 | 2012-08-23 10:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册