2013-02-01 2 views
1

즉석에서 구성 요소를 만들려고하는데이를 만드는 방법을 알고 있지만 어떻게이 구성 요소에 즉시 액세스 할 수 있습니까? 예를 들어내 Winform에 동적으로 UI 구성 요소 추가

:

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++; 
    } 

내가 레이블을 클릭하면, 내가 (위치, 텍스트와 이름 등) 레이블의 정보를 얻고 싶은

내가 이것을 어떻게 할 수 있습니까? 또는 이것을 수행하는 가장 좋은 방법은 무엇입니까?

그리고 패널의 위치, 양식 내부를 기반으로 구성 요소에 액세스하려면 어떻게해야합니까?

+0

제목을 변경하고 태그를 업데이트하십시오. 제목이 질문과 일치하지 않으며 태그에 사용중인 GUI 툴킷 (Windows Forms, 보이는 것)이 나열되어 있어야합니다. –

답변

2

발신자는 귀하의 lablel입니다. 단순히 발신자 객체를 Label 유형으로 캐스팅하십시오.

void label1_Click(object sender, EventArgs e) 
{ 
    Label label = (Label)sender; 
    // use 
    // label.Name 
    // label.Location 
}