내 프로그램에 약간의 문제가 있습니다. 현재 친구 요청 스크립트를 프로그래밍하고 있는데 기본적으로 사용자가 친구 요청을 받으면 자동으로 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]);
Dictionary에 참조를 중복하여 저장할 수 있으며이를 제거하려면 사전에서 참조를 가져와 적절한 인스턴스를 요청하십시오. 분명히 사전에서도 제거하는 것을 잊지 마십시오. –
ID 만 갖고 싶으면 Tag 속성을 사용하고 friendRequestPanel.Controls에서 해당 항목을 찾아 제거 할 참조를 가져올 수 있습니다. –
['Name'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.name (v = vs.110) .aspx) 속성은 이러한 용도로 사용됩니다. 당신은 그 이름을 사용하는 부모의'Controls' 콜렉션에서 제어 할 이름을 할당 할 수 있습니다. –