首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

listview循环添加Button后位置有关问题

2012-09-12 
listview循环添加Button后位置问题C# codeprivate void Form1_Load(object sender, EventArgs e){int i

listview循环添加Button后位置问题

C# code
        private void Form1_Load(object sender, EventArgs e)        {            int i = 1;            int j;            int r = 0;            int btnwidth = 130;            int h = Convert.ToInt32(System.Math.Truncate((double)listView1.Width / btnwidth));            for (i = 0; i < 16; i++)            {                               j = i % h;                if (j == 0) r++;                Button btn = new Button();                btn.Name = "btn" + (i + 1).ToString();                btn.Text = (i + 1).ToString();                btn.Size = new Size(btnwidth, btnwidth);                btn.Left = 0 + (j) * btnwidth;                btn.Top = 0 + (r) * btnwidth;                btn.Click += new EventHandler(btn_Click);                this.listView1.Controls.Add(btn);            }        }


运行后,第一行总是行出来,从第二行开始循环添加,btn.Top初始时就附成了100,怎么能让他初始时附成0!

[解决办法]
if (j == 0) r++;
把这条改成if (j == 0&&i!=0) r++;
这样就可以了。因为程序开始进去 i=0,那么j肯定等于0,这样r=1.第一行的top就是btnwidth了。

热点排行