I'm struggling to create this script where it generates friend requests. I need to specifically add an id to each button and label so I can remove it when the user clicks either the accept or reject button.
Button reqAccept;
Button reqReject;
Label reqUserName;
private void loadFriendRequests()
{
using (SqlConnection connection = new SqlConnection(con))
{
using (SqlCommand cmd = new SqlCommand("Select UserFirstName, UserLastName, FriendEmail From PendingRequests Where FriendEmail = @fe", connection))
{
connection.Open();
cmd.Parameters.AddWithValue("@fe", Properties.Settings.Default.Email);
using (SqlDataReader dr = cmd.ExecuteReader())
{
i = 0;
while (dr.Read())
{
i++;
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);
reqAccept = accept;
reqReject = reject;
reqUserName = userName;
}
}
}
}
}
Requests.Start();
}
private void Reject_Click(object sender, EventArgs e)
{
friendRequestPanel.Controls.Remove(reqUserName);
friendRequestPanel.Controls.Remove(reqAccept);
friendRequestPanel.Controls.Remove(reqReject);
updateFriendRequestDatabase(2);
}
private void Accept_Click(object sender, EventArgs e)
{
friendRequestPanel.Controls.Remove(reqUserName);
friendRequestPanel.Controls.Remove(reqAccept);
friendRequestPanel.Controls.Remove(reqReject);
updateFriendRequestDatabase(1);
}
What the code is doing: The code above is selecting requests that are the same as the user's email and for every friend request there is, it will add it to 'FlowLayourPanel' by using a label and 2 buttons to either accept or reject.
This is what the GUI looks like: GUI
When the user clicks a button it will obviously go to the event handler but how do I identify which button was pressed?
It needs to be something like:
friendRequestPanel.Controls.Remove(reqUserName##ID##);