2017-06-22 150 views
-1

我有一個添加用戶按鈕,它添加了一個文本框和一個按鈕。我需要它,以便新按鈕刪除它添加的用戶。我的問題是我不知道如何獲得動態添加的按鈕來刪除動態創建的文本框......我認爲它是如何定義變量的問題,但我不知道是什麼。下面是我有:刪除動態創建的文本框

private void AddUserbtn_Click_1(object sender, EventArgs e) 
    { 
     TextBox[] Alias = new TextBox[n]; 

     Button[] Remove = new Button[n]; 

     int AliasX, AliasY, RemoveX, RemoveY; 

     AliasX = 40; 
     AliasY = 45; 

     RemoveX = 946; 
     RemoveY = 45; 


     for (int i = 0; i < n; i++) 
     { 
      Alias[i] = new TextBox(); 
      Alias[i].Size = new Size(233, 26); 
      Alias[i].Location = new Point(AliasX, AliasY + space); 
      Alias[i].Font = new Font("Arial", 10); 

      Remove[i] = new Button(); 
      Remove[i].Location = new Point(RemoveX, RemoveY + space); 
      Remove[i].Text = ""; 
      Remove[i].Font = new Font("Arial", 10); 
      Remove[i].FlatStyle = FlatStyle.Flat; 
      Remove[i].BackgroundImage =Properties.Resources.btn_remove_user; 
      Remove[i].FlatAppearance.BorderColor = Color.White; 
      Remove[i].BackgroundImageLayout = ImageLayout.Center; 
      Remove[i].Size = new Size(95, 23); 
      Remove[i].UseVisualStyleBackColor = true; 
      Remove[i].Click += new EventHandler(Remove_Click); 

      space += 35; 
     } 


     for (int i = 0; i < n; i++) 
     { 
      Panel.Controls.Add(Alias[i]); 

     } 

     //for(int i=0; i <n;i++) 
     //Remove[i].Click += delegate 
     //{ 
     // Panel.Controls.Remove(Alias[i]); 
     //}; 



    } 

    private void Remove_Click(object sender, EventArgs e) 
    { 
     // Button Remove = sender as Button; 

     // //TextBox[] Alias = new TextBox[n]; 
     // //for (int i = 0; i <n; i++) 
     // //{ 
     // // Panel.Controls.Remove(Alias[i]); 



     // //} 
    } 
+1

將Id屬性設置爲您的控件,以及如何知道要刪除的控件?我認爲你需要在你的問題中添加更多信息。 –

+1

TextBox和Button應該可能位於UserControl中。 – LarsTech

+0

當我點擊刪除按鈕刪除按鈕和別名文本框應該刪除 – Julie

回答

1

給你的對象有意義的名稱,如:

Alias[i].Name = "UserTextBox" + i; 
Remove[i].Name = "UserButton" + i; 

這樣你可以找對象被排除。

Panel.Controls.Remove(Panel.Controls["UserTextBox" + i]); 
Panel.Controls.Remove(Panel.Controls["UserButton" + i]); 
+0

工作謝謝你! – Julie