1

我正在尝试动态创建组件,所以,我知道如何制作,但是,我怎样才能动态访问这个组件?

例如:

    public Form1
    {
        Label label1 = new Label();
        label1.AutoSize = true;
        label1.Location = new System.Drawing.Point(e.X, e.Y);
        label1.Name = string.Format("label{0}", labelsCount.ToString());
        label1.Size = new System.Drawing.Size(35, 13);
        label1.TabIndex = 2;
        label1.Text = string.Format("Label -> {0}", labelsCount.ToString());
        label1.Click += new System.EventHandler(this.label1_Click);
        this.Controls.Add(label1);
        label1.BringToFront();
        label1.Show();
        labelsCount++;
    }

当我点击标签时,我想获取标签的信息(如位置、文本和名称)

我怎么能做到这一点?或者,最好的方法是什么?

而且,要根据面板的位置访问组件,在表单内部,我该怎么做?

4

1 回答 1

2

事件的发送者是您的标签。只需将发件人对象转换为Label类型:

void label1_Click(object sender, EventArgs e)
{
    Label label = (Label)sender;
    // use
    // label.Name
    // label.Location
}
于 2013-02-01T15:41:07.553 回答