2017-10-18 264 views
1
Label[] l1 = new Label[30];  
DataTable dt = ConsoleApp2.CitiesDB.getCities(this.region); 
       foreach(DataRow row in dt.Rows) 
       { 
        count++; 
        string city = row.Field<string>("city"); 
        l1[count] = new Label(); 
        l1[count].Location = new System.Drawing.Point(x,y); 
        l1[count].Size = new Size(140, 80); 
        l1[count].Font = new System.Drawing.Font("Century Gothic", 8.5F); 
        l1[count].Text = city; 
        x = x + 260; 
        this.Controls.Add(l1[count]); 
        this.Refresh(); 
        if(count == 4 || count %4 ==0) 
        { 
         y = y + 150; 
         x = 40; 
        } 
       //l1[count].Click += new EventHandler(l1_click); 
      } 

所以我做了一個動態標籤(每個標籤是一個城市名稱)。我怎樣才能讓每個標籤點擊?我有一個註冊表格 - 我想要的是如果用戶點擊「紐約」,然後在「城市」文本框中出現。與EventHandler的方式不適合我);.我能做什麼? 我的意思的代碼,不工作:c#添加動態點擊事件

protected void l1_click(object sender, EventArgs e) 
    { 
     RegisterForm register = new RegisterForm(username,email,password,address,phone); 
     register.state.Text = region; 
     register.city.Text = l1[count].Text; 
     register.Show(); 
    } 

感謝(:

每個標籤

回答

1

分配一個click事件:

l1[count].Click += l1_click; 

Click事件中使用發件人的說法,看看哪些被點擊標籤:

protected void l1_click(object sender, EventArgs e) 
{ 
    Label lbl = (Label)sender; 
    MessageBox.Show(lbl.Text); 
+0

謝謝你,它的工作(: – Daniel

+0

勾選一個對於幾點是正確的 –

相關問題