Вчера я задал похожий вопрос, и люди сказали мне использовать List и контроллер. Я изменил свой код, соответственно, теперь добавил класс MyContols и список, чтобы лучше контролировать мои элементы.
Это мой класс, который содержит мои флажки и текстовые поля:
private List<MyControls> _myControls = new List<MyControls>();
class MyControls
{
int x=5;
int y=30;
public CheckBox cb = new CheckBox();
public TextBox tb1 = new TextBox();
public TextBox tbSpecs = new TextBox();
public TextBox tb3 = new TextBox();
public TextBox tb4 = new TextBox();
public void initElements(String name)
{
cb.Width = 10;
cb.Height = 10;
cb.Name = "cb_" + name;
cb.Location = new Point(x, y+5);
Form.ActiveForm.Controls.Add(cb);
x += 15;
tb1.Width = 50;
tb1.Height = 20;
tb1.Location = new Point(x, y);
tb1.Name = "tb1_" + name;
Form.ActiveForm.Controls.Add(tb1);
x += 60;
tbSpecs.Width = 150;
tbSpecs.Height = 20;
tbSpecs.Name = "tb2_" + name;
tbSpecs.Location = new Point(x, y);
Form.ActiveForm.Controls.Add(tbSpecs);
x += 160;
tb3.Width = 40;
tb3.Height = 20;
tb3.Name = "tb3_" + name;
tb3.Location = new Point(x, y);
Form.ActiveForm.Controls.Add(tb3);
x += 50;
tb4.Width = 450;
tb4.Height = 20;
tb4.Name = "tb4_" + name;
tb4.Location = new Point(x, y);
Form.ActiveForm.Controls.Add(tb4);
x = 0;
}
public int SetX(int i)
{
x = i;
return x;
}
public int SetY(int Y)
{
y = Y;
return y;
}
}
также у меня есть класс ProductForm, второй в моем приложении, который позволяет мне просматривать данные в текстовых полях, редактировать и удалять эти данные.
Моя проблема в том, как я могу удалить строку?
Мой второй вопрос: нужно ли для каждой строки создавать новый экземпляр класса MyControl? Наверное, мои вопросы очень просты. Извините, что нашли время, ребята!
Эта функция предназначена только для тестирования, потому что я все еще пытаюсь добавить и удалить свои строки.
public void CreateFormElements()
{
ProductForm form2 = new ProductForm();
form2.Visible = true;
form2.Activate();
MyControls mc = new MyControls();
_myControls.Add(mc);
_myControls[0].initElements("1");
mc = new MyControls();
_myControls.Add(mc);
mc.SetY(55);
_myControls[1].initElements("2");
}
Как удалить всю строку, если установлен соответствующий флажок?
Можете ли вы сказать мне код, который может сделать это?