Я создал небольшую кухонную программу для отображения заказов на еду.Таким образом, я динамически создал панель, которая содержит панель макета таблицы, которая содержит поле со списком проверенных и кнопку проверки всех.Моя проблема ... У меня есть кнопка проверки всех на каждой панели макета таблицы, создаваемой динамически, и каждый раз, когда я нажимаю на нее, она проверяет все элементы в последнем созданном CheckedListBox
, а не в выбранном.
Этомой код:
p = new Panel();
p.Size = new System.Drawing.Size(360, 500);
p.BorderStyle = BorderStyle.FixedSingle;
p.Name = "panel";
tpanel = new TableLayoutPanel();
tpanel.Name = "tablepanel";
clb = new CheckedListBox();
tpanel.Controls.Add(b1 = new Button() { Text = "CheckAll" }, 1, 4);
b1.Name = "b1";
b1.Click += new EventHandler(CheckAll_Click);
b1.AutoSize = true;
private void CheckAll_Click(object sender, EventArgs e)
{
var buttonClicked = (Button)sender;
var c = GetAll(this, typeof(CheckedListBox));
for (int i = 0; i < c.Count(); i++)
{
\\any help
}
}
public IEnumerable<Control> GetAll(Control control, Type type)
{
var controls = control.Controls.Cast<Control>();
return controls.SelectMany(ctrl => GetAll(ctrl, type)).Concat(controls).Where(c =>
c.GetType() == type);
}