私のプログラムに少し問題があります。私は現在フレンドリクエストスクリプトをプログラミングしています。基本的にユーザーがフレンドリクエストを受け取ると、それは自動的に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)プロパティは、このような用途に使用します。あなたはコントロールする名前をつけて、その名前を使ってその親の 'Controls'コレクションで見つけることができます。 –