топчик

This commit is contained in:
elizaveta 2024-12-08 17:47:59 +04:00
parent 23b750a62c
commit e74fd330d9
2 changed files with 37 additions and 15 deletions

View File

@ -159,12 +159,10 @@
// checkedListBox1
//
checkedListBox1.FormattingEnabled = true;
checkedListBox1.Items.AddRange(new object[] { "Wardrobe", "Table", "Bench" });
checkedListBox1.Location = new Point(349, 132);
checkedListBox1.Name = "checkedListBox1";
checkedListBox1.Size = new Size(262, 112);
checkedListBox1.TabIndex = 9;
checkedListBox1.SelectedIndexChanged += checkedListBox1_SelectedIndexChanged;
//
// FormProductMaterial
//

View File

@ -58,6 +58,9 @@ namespace CarpentryWorkshop.Forms
"Table",
"Bench"
});
// Подписываемся на событие ItemCheck
checkedListBox1.ItemCheck += checkedListBox1_ItemCheck;
}
private void buttonAdd_Click(object sender, EventArgs e)
@ -106,30 +109,51 @@ namespace CarpentryWorkshop.Forms
private Product CreateProduct(int id) => Product.CreateEntity(id, textBoxName.Text, selectedProducts, Convert.ToInt32(numericUpDownCount.Value), CreateListMaterialFromDataGrid());
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
// Сбрасываем выбранные продукты
selectedProducts = ProductType.None;
// Проходим по всем выбранным элементам
foreach (var item in checkedListBox1.CheckedItems)
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
switch (item.ToString())
if (i == e.Index)
{
case "Wardrobe":
selectedProducts |= ProductType.Wardrobe;
break;
case "Table":
selectedProducts |= ProductType.Table;
break;
case "Bench":
selectedProducts |= ProductType.Bench;
break;
if (e.NewValue == CheckState.Checked)
{
switch (checkedListBox1.Items[i].ToString())
{
case "Wardrobe":
selectedProducts |= ProductType.Wardrobe;
break;
case "Table":
selectedProducts |= ProductType.Table;
break;
case "Bench":
selectedProducts |= ProductType.Bench;
break;
}
}
}
else if (checkedListBox1.GetItemChecked(i))
{
switch (checkedListBox1.Items[i].ToString())
{
case "Wardrobe":
selectedProducts |= ProductType.Wardrobe;
break;
case "Table":
selectedProducts |= ProductType.Table;
break;
case "Bench":
selectedProducts |= ProductType.Bench;
break;
}
}
}
// Выводим выбранные продукты для демонстрации
MessageBox.Show($"Selected products: {selectedProducts}");
MessageBox.Show($"Ваши выбранные изделия: {selectedProducts}");
}
}
}