Сначала я должен сказать, что код, который вы написали, кажется, содержит логический ошибку. Если флажок не установлен, вам не следует ничего делать. В своем коде вы вычитаете цену товара из общей цены. Таким образом, вы даете скидку 10. Если они не покупают ее, не добавляйте ее. Вот и все.
Итак, теперь вы знаете, что они купили, вы можете использовать StringBuilder для заполнения сообщения.
Быстро и грязно:
StringBuilder builder = new StringBuilder();
builder.AppendLine("Ticket")
builder.AppendLine();
if (checkCheeseSnackBread.Checked) // == true is not needed
{
price += 10;
items += "Cheese Snack Bread - $10";
builder.AppendLine(Cheese Snack Bread - $10);
}
// Do the same for other checkboxes
// Add the totals
Messagebox.Show(builder.ToString());
Существует другой способ: перебрать элементы управления в форме, если это флажок ==> добавить текст в StringBuilder. Таким образом, не имеет значения, сколько есть флажков. Вам просто нужно убедиться, что свойство text используется для печати на тикете (в окне сообщений).