想做通过获取数值后自动生成对应数量控件,如linklabel。之后在这么多个的linklable的有着内容大致相同的点击事件,只是其中有几个数值不同,变化的数值可以仅仅是linklable的不同的编号的值,不知道能不能实现?
具体如下图示意。麻烦各位高手编码示范下。
之后在文本框中输入3,点击确定按钮,软件就生成出3个linklable。
之后在每个linkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)方法中,包含一段仅仅是linklable的编号不同的代码。如,messagebox.show("点击了{0}",它的编号)。就这样。麻烦各位高手编码示范下。不是很懂。谢了。

解决方案 »

  1.   

    for(int i=0,i<count,i++){  this.Controls.Add(new linklabel);}
      

  2.   

    for(int i=0,i<count,i++){  this.Controls.Add(new linklabel());}
      

  3.   

    肯定出不来了,要先实例化LinkLabel,然后设置它的Location、Size等属性。
      

  4.   


    Label lblTitle = new Label();
                lblTitle.Text = value;
                lblTitle.AutoSize = false;
                lblTitle.TextAlign = ContentAlignment.MiddleRight;
                lblTitle.Location = new System.Drawing.Point(3, formHeight);
                lblTitle.Size = new Size(140,height);
                panel1.Controls.Add(lblTitle);示例
      

  5.   


            private void button1_Click(object sender, EventArgs e)
            {
                int lCount = Convert.ToInt16(this.textBox1.Text);
                for (int i = 0; i < lCount; i++)
                {
                    LinkLabel ll = new LinkLabel();
                    ll.Text = i.ToString();
                    ll.Location = new Point(100, i * 50 + 100);
                    ll.Tag = i;
                    ll.LinkClicked += new LinkLabelLinkClickedEventHandler(ll_LinkClicked);
                    this.Controls.Add(ll);
                }
            }        void ll_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                LinkLabel ll = (LinkLabel)sender;
                MessageBox.Show(ll.Tag.ToString());
            }
    //LinkLabel的TAG属性为OBJECT类型,你可以放入任何你想要的类型,使用的时候在强制转换过来就可以了。
      

  6.   


    3Q牛人。确实可以用哈!!你到这个相同问题的贴子上露个脸(我发重复了问题),再给你加20分哈!
    http://topic.csdn.net/u/20100927/13/cf692259-08de-49d8-a700-b01884503eed.html