我有我的程序有點麻煩。目前,我正在編寫一個好友請求腳本,基本上當用戶收到好友請求,它會自動將其添加到FlowLayoutPanel
和每個朋友的要求,用戶的名字會顯示連同接受和拒絕按鈕。下面的代碼:c#我如何設置按鈕ID並在稍後刪除它?
foreach (object request in i.ToString())
{
Label userName = new Label();
Button accept = new Button();
Button reject = new Button();
accept.Click += Accept_Click;
reject.Click += Reject_Click;
userName.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(dr["UserFirstName"].ToString() + " " + dr["UserLastName"].ToString());
accept.Text = "Accept";
reject.Text = "Reject";
friendRequestPanel.Controls.Add(userName);
friendRequestPanel.Controls.Add(accept);
friendRequestPanel.Controls.Add(reject);
}
現在的問題是,當用戶接受或拒絕的請求,這似乎刪除所有的標籤和按鈕。 代碼:
friendRequestPanel.Controls.Remove(UserName); // Label
friendRequestPanel.Controls.Remove(accept); // Button
friendRequestPanel.Controls.Remove(rejects); // Button
我將如何分配一個ID,每個按鈕和標籤,這樣我以後可以刪除嗎? 是這樣的:friendRequestPanel.Controls.Remove(username[ID No]);
您可以將引用冗餘存儲在一個詞典<字符串,對象>,當你想刪除它,獲得從詞典中引用了相應的實例請求。顯然,不要忘記從字典中刪除它。 –
如果您只想要一個ID,可以使用Tag屬性,並在friendRequestPanel.Controls中查找適當的名稱以獲取要刪除的引用。 –
['Name'](https://msdn.microsoft.com/en-us/library/system.windows.forms.control.name(v = vs.110).aspx)屬性就是爲了這樣的用法。您可以爲控件指定一個名稱,然後使用該名稱在其父項的「控件」集合中找到它。 –