Skip to content

Лабораториска вежба 4

Tomche Delev edited this page Mar 20, 2014 · 4 revisions

Потрошувачка кошничка

Конечен изглед на апликацијата (Слика 1)

Конечен изглед на апликацијата

Опис на задачата

Да се имплементира програма за потрошувачка кошничка. Програмата се состои од две листи. Лево се наоѓа листа со сите продукти кои може да се купат (додадат во потршувачката кошничка). При промена на селекција на елемент од листата со продукти се прикажуваат неговите детали (име, категорија и цена). Со клик на копчето „Додади во кошничка“, селектираниот продукт се додава во кошничката и се променува вредноста во текстуалното поле „Вкупно“. Со клик на копчето „Избриши од кошничка“ се брише соодветниот елемент од листата.

Форма за нов продукт

Форма за нов продукт

Со клик на копчето „Додади нов продукт“ треба да се отвори нова форма како на слика 1 за додавање нов продукт во листата.

При додавањето нов продукт да се имплементира валидација со помош на ErrorProvider. Се додава оваа контрола која е заедничка за сите контроли во формата, а потоа се додава метод за настанот Validating за контролата која сакаме да ја валидираме. Пример за код за овој настан за контрола TextBox со име tbName која не смее да биде празна.

private void tbName_Validating(object sender, CancelEventArgs e)
        {
            if (tbName.Text.Trim().Length == 0)
            {
                e.Cancel = true;
                errorProvider1.SetError(tbName, "Внесете име!");
            }
            else
            {
                errorProvider1.SetError(tbName, null);
            }
        }

Соодветно клик на копчето „Избриши продукт“ го брише селектираниот продукт од листата со продукти.

Клик на копчињата „Испразни ја листата со продукти?“ и „Испразни ја кошничката?“ ги празни соодветните листи, а пред тоа со соодветен MessageBox го прашува корисникот за потврда на акцијата (слика 2).

Потврда за празнење на листата

Помош за форматирање на децимални броеви

String.Format("{0:0.00}", 123.4567);      // "123.46"

Дополнителна задача

Да се промени програмата така што при додавање на продукт во кошничката со помош на контролата NumericUpDown ќе се внесува количина од продуктот.

Конечен изглед на апликацијата 2

Помош: Да се имплементира класа ProductItem која ќе содржи Product и количина од тој продукт.

Дополнително форматирање на децимални броеви

Само две децимални места

String.Format("{0:0.00}", 123.4567);      // "123.46"
String.Format("{0:0.00}", 123.4);         // "123.40"
String.Format("{0:0.00}", 123.0);         // "123.00"

Максимум две децимални места

String.Format("{0:0.##}", 123.4567);      // "123.46"
String.Format("{0:0.##}", 123.4);         // "123.4"
String.Format("{0:0.##}", 123.0); 

Барем две цифри пред децималната точка

String.Format("{0:00.0}", 123.4567);      // "123.5"
String.Format("{0:00.0}", 23.4567);       // "23.5"
String.Format("{0:00.0}", 3.4567);        // "03.5"
String.Format("{0:00.0}", -3.4567);       // "-03.5"

Означување на илјадарките

String.Format("{0:0,0.0}", 12345.67);     // "12,345.7"
String.Format("{0:0,0}", 12345.67);       // "12,346"

Нули

String.Format("{0:0.0}", 0.0);            // "0.0"
String.Format("{0:0.#}", 0.0);            // "0"
String.Format("{0:#.0}", 0.0);            // ".0"
String.Format("{0:#.#}", 0.0);            // ""

Порамнување на броевите со празни места

String.Format("{0,10:0.0}", 123.4567);    // "     123.5"
String.Format("{0,-10:0.0}", 123.4567);   // "123.5     "
String.Format("{0,10:0.0}", -123.4567);   // "    -123.5"
String.Format("{0,-10:0.0}", -123.4567);  // "-123.5    "
Clone this wiki locally