我正在做一个小项目来回答问题。我有两个问题:
它看起来像this,当我点击按钮(图像上显示“A ...”)时,它将分别删除单选按钮和文本框。
每个项目(单选按钮,文本框,按钮)都在一个列表中,我认为单击该按钮将删除列表中的项目,这些项目位于相同的位置/索引。
我添加这些项目的方式是这样的(它可能会有所帮助)。
if (contar < 10)
{
contar++;
radioButtons.Add(new MetroFramework.Controls.MetroRadioButton());
btnRmv.Add(new MetroFramework.Controls.MetroButton());
for (int i = 0; i < radioButtons.Count; i++)
{
Textboxes.Add(new MetroFramework.Controls.MetroTextBox());
Textboxes[i].Height = 20;
Textboxes[i].Width = 580;
Textboxes[i].Anchor = (System.Windows.Forms.AnchorStyles.Top);
Textboxes[i].Location = new System.Drawing.Point(txtPergunta.Location.X - 25, txtPergunta.Location.Y+txtPergunta.Height+ i * 25);
PanelCentro.Controls.Add(Textboxes[i]);
BtnAdd.Location = new System.Drawing.Point(BtnAdd.Location.X, Textboxes[i].Location.Y + 25);
radioButtons[i].Anchor = (System.Windows.Forms.AnchorStyles.Top);
radioButtons[i].Location = new System.Drawing.Point(Textboxes[i].Location.X - 20, Textboxes[i].Location.Y);
PanelCentro.Controls.Add(radioButtons[i]);
btnRmv[i].Height = 20;
btnRmv[i].Width = 20;
btnRmv[i].Anchor = (System.Windows.Forms.AnchorStyles.Top);
btnRmv[i].Text = "delete";
btnRmv[i].Location = new System.Drawing.Point(Textboxes[i].Location.X + Textboxes[i].Width + 20, Textboxes[i].Location.Y);
PanelCentro.Controls.Add(btnRmv[i]);
btnRmv[i].Click += RemoverResposta;
}
}
我使用for循环来删除项目,但它从未删除正确的项目(即:我点击的按钮位置相同的项目),它全部删除。