【发布时间】:2020-08-01 15:43:47
【问题描述】:
有人知道为什么这段代码不起作用吗?
代码应该做的是获取列表中的所有用户并为他们制作单选按钮,然后每次单击它都会获取每个用户类中列表中的文本并将它们添加到文本框中
但问题是它只适用于最后添加的单选按钮,并不是所有的单选按钮都知道为什么。
private void UserMessages()
{
int y = 8;
int x = 7;
if (TheClients.Count > 0)
{
foreach (HandleClients C1 in TheClients)
{
RB = new RadioButton();
RB.Text = C1.ClientUser;
RB.Location = new Point(x, y);
RB.Font = PL_UsersCont.Font;
RB.Visible = true;
RB.AutoSize = true;
RB.ForeColor = Color.Black;
RB.FlatStyle = FlatStyle.Flat;
PL_UsersCont.Controls.Add(RB);
y += RB.Height;
}
RB.Click += RB_Click;
}
}
private void RB_Click(object sender, EventArgs e)
{
foreach (HandleClients MSGS in TheClients)
{
if (RB.Text == MSGS.ClientUser)
{
TXB_MSGS.Text = string.Empty;
foreach (string M in MSGS.ClientMessages)
{
TXB_MSGS.Text += M + "\r\n";
}
}
}
}
【问题讨论】:
-
将
RB.Click += RB_Click;行移到foreach循环内 -
你为什么要删除这个问题? stackoverflow.com/questions/70526268/…
-
idk 我只是以为你不明白我的意思,我正在想办法自己做,但还没有运气
标签: c# events radio-button