C # Создайте окно сообщения счета с пунктами, которые были проверены, отображены - PullRequest
0 голосов
/ 08 февраля 2011

Есть форма с тремя флажками и кнопкой. После нажатия на кнопку должно появиться окно сообщения и отобразить все элементы, которые были проверены в форме с указанием цены до вычета налогов и итогов. Цена до уплаты налога и итоговые суммы учитываются, но как бы я отобразил то, что было проверено пользователем в этой форме в окне сообщения, которое будет служить счетом.

if (checkCheeseSnackBread.Checked == true)
        {
            price += 10;
            items += "Cheese Snack Bread - $10";
        }
        else
        {
            price -= 10;
        }

Просто нужно руководство.

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Сначала я должен сказать, что код, который вы написали, кажется, содержит логический ошибку. Если флажок не установлен, вам не следует ничего делать. В своем коде вы вычитаете цену товара из общей цены. Таким образом, вы даете скидку 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 используется для печати на тикете (в окне сообщений).

0 голосов
/ 08 февраля 2011

Если вы просто хотите отобразить строку, которую вы генерируете.

Проверьте это:

http://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox.aspx

...