日期:2014-05-20  浏览次数:21089 次

winform 控件重新加载 或 刷新 高手请教
我先上代码 和 图片 下面是问题

C# code

private void UserInfo_Load(object sender, EventArgs e)
        {
            LoadButton();
        }
        #region 循环按钮事件
        private void LoadButton()
        {
            Button[] btns = new Button[15];
            for (int i = 0; i < 15; i++)
            {
                btns[i] = new Button();
                btns[i].Location = new Point(3, 0 + i * 29);//你把所有按钮放在同一位置吗?-> btns[i].Location   =   new   System.Drawing.Point(100,100+   i*60);// 
                btns[i].Name = "btn" + i;
                btns[i].Size = new System.Drawing.Size(80, 30);
                btns[i].Text = i.ToString();
                btns[i].Click += new EventHandler(Button_Click);
                this.panel1.Controls.Add(btns[i]);
            }
        }
        void Button_Click(object sender, EventArgs e)
        {
            Button b = (Button)sender;
            MessageBox.Show(b.Text);
            LinkLabel[] link = new LinkLabel[5];
            for (int i = 0; i < 5; i++)
            {
                link[i] = new LinkLabel();
                link[i].Location = new Point(71 + i * 60, 10);//你把所有按钮放在同一位置吗?-> btns[i].Location   =   new   System.Drawing.Point(100,100+   i*60);// 
                link[i].Name = b.Text + "link" + i.ToString();
                link[i].Size = new System.Drawing.Size(50, 16);
                link[i].Text = b.Text + "link"+i.ToString();
                link[i].Click += new EventHandler(LinkLabel_Click);
                this.panel2.Controls.Add(link[i]);
            }
        }

        void LinkLabel_Click(object sender, EventArgs e)
        {
            LinkLabel link = (LinkLabel)sender;
            MessageBox.Show(link.Text);
        }
        #endregion



这个是加载窗口时候的 按钮 我用的是选项卡容器控件


单击0按钮 子分类出来的 LinkLabel 控件 循环5个


单击 4按钮的时候 子分类的 LinkLabel 控件 还停留在 0按钮控件的值



我想请问大家, 怎么才能做到 我点按钮控件 子分类的link控件也在变啊 值也跟着变

分数大大地

------解决方案--------------------
this.panel2.Controls.Add(link[i]);
先把之前的清理掉,不然都加后面去了