Języki i metodologia programowania.
W trakcie laboratorium stworzymy interfejs w systemie Windows do obsługi kont bankowych, które zrealizowaliśmy w trakcie Ćwiczenia 9 i 10.
Celem laboratorium jest zapoznanie się z możliwościami pisania aplikacji w systemie Windows za pomocą języka C#.
1.
Uruchomić Microsoft Visual Studio .NET.
Ze strony startowej wybrać New Project. Wybrać następujące parametry
projektu:
Project types: Visual
C# Projects
Tamlates: Windows Application
Name: TestKontaWin
Location: swój katalog
domowy
Create directory for solution
Zostanie utworzony nowy project z pustą formą o nazwie Form1.
2. Należy pobrać ze strony WWW: pliki KontoBankowe.cs. Pobrany program należy zapisać w katalogu nowo utworzonego projektu (~\TestKontaWin).
3. Należy ustawić właściwości formy Form1. Kliknij na formę i ustaw odpowiednie parametry w oknie Properties: (Name) Ramka, Text Konta Bankowe, Size 382; 263.
4. Zmień domyślną nazwę klasy. Z menu View wybierz opcję Code (F7). W metodzie Main zmień parametr Application.Run na Ramka().Odpowiednia linijka kodu powinna być zapisana:
Application.Run(new Ramka());
5. Zmień nazwę pliku z Form1.cs na Ramka.cs. Skompiluj i uruchom program.
6. Dodaj kontrolki do widoku projektu. Przełącz na Ramka.cs [Design]. Przeciągnij kontrolkę Button z menu Toolbox na Ramkę. W oknie Properties kliknij właściwości Location i wpisz 0; 0. Następnie ustaw Size na 123; 59. W podobny sposób dodaj jeszcze 4 przyciski pod Button1.
7. Na prawo od Button1 umieść ComboBox.
8. Ustaw następujące właściwości elementów formularza:
Kontrolka |
Właściwość |
Wartość |
button1 |
(Name) Text Location Size |
utworz |
button2 |
(Name) |
kasuj Kasuj 0; 59 123; 59 |
button3 |
(Name) Text Location Size |
wplata |
button4 |
(Name) |
wyplata |
ComboBox1 |
(Name) |
konta |
9. Skompilować i uruchomić projekt. Po uruchomieniu powinno się otrzymać następujący formularz:
10. Następnie dodać metody obsługi do poszczególnych klawiszy.
11. Zacznij od obsługi klawisza Utwórz.
12. Najpierw dodaj do stworzonego projektu klasę KontoBankowe. W tym celu kliknij prawym klawiszem myszy na TestKontaWin w Solution Explorer. Z menu wybierz Add ® Add Existing Item i otwórz plik KontoBankowe.cs. Klasa KontoBankowe zostanie dołączona do projektu.
13. Stwórz nową formę RamkaNoweKonto, która będzie
służyła do zbierania informacji o tworzonym koncie. W tym celu kliknij prawym
klawiszem myszy na TestKontaWin w Solution Explorer. Z menu wybierz Add
® Add New Item, a następnie Categories:
Local Project Items, Templates: Windows Form, Name:
RamkaNoweKonto.cs.
14. Ustaw właściwości nowo stworzonego formularza: (Name) RamkaNoweKonto, (Text) Nowe konto, (Size) 296; 162. Do formularza dodaj następujące elementy:
Kontrolka |
Właściwość |
Wartość |
label1 |
(Name) Text Location |
typNowegoKonta |
ComboBox1
|
(Name) |
rodzajKonta |
label2 |
(Name) |
saldo Saldo 0; 49 |
TextBox1 |
(Name) Text Location Size |
stan |
button1 |
(Name) Text Location Size |
dodaj |
button2 |
(Name) |
anuluj |
Po ustawieniu powyższych wartości ramka powinna mieć postać:
15. Przełączyć na edycję kodu formy RamkaNoweKonto. Przed konstruktorem dodać pole prywatne typu Ramka o nazwie ramkaGlowna, które stworzy połączenie z ramką nadrzędną. Dodać do konstruktora klasy parametr Ramka r, a wewnątrz konstruktora instrukcję przypisania polu ramkaGlowna wartości r. Następnie dodać do klasy metodę Reset (private void) inicjującą formularz zbierania informacji o koncie.
16. Do stworzonej metody Reset dodać instrukcję inicjujące wypełnienie listy kombinowanej rodzajKonta
rodzajKonta.Items.Clear();
rodzajKonta.Items.Add("Oszczędnościowe");
rodzajKonta.Items.Add("Bieżące");
A następnie linię inicjującą wartość początkową pola tekstowego:
stan.Text="0";
17. Stworzoną metodę wywołać w konstruktorze, który po wykonaniu wszystkich operacji powinien mieć postać:
public
RamkaNoweKonto(Ramka r)
{
InitializeComponent();
ramkaGlowna = r;
Reset();
}
18. Dodać metodę obsługującą zamykanie ramki. W tym celu
przełączyć na widok formularza (RamkaNoweKonto [Design]), a następnie z
właściwości wybrać obsługę zdarzeń (Events ). W pole Form Closing
wpisać ramkaNoweKontoClosing, zostanie utworzona metoda o tej nazwie.
Dodaj do niej następujące instrukcje:
DialogResult key = MessageBox.Show("Jesteś pewny?",
"Potwierdzenie",MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
e.Cancel =
(key == DialogResult.No);
19. Dodać metodę obsługującą przycisk Anuluj. W widoku formularza kliknąć na właściwy przycisk. We właściwościach wybrać obsługę zdarzeń, a następnie w polu Click wpisać anulujClick. Zostanie utworzona metoda o tej nazwie. Do metody dodać instrukcję zamykającą formę:
this.Close();
20. Dodać metodę obsługującą przycisk Dodaj. W tym celu zdarzenie Click powinno zostać obsłużone przez metodę dodajClick. Zawartość metody powinna być następująca:
try
{
KontoBankowe noweKonto = new KontoBankowe();
double tDouble = double.Parse(stan.Text);
noweKonto.Ustaw(tDouble, rodzajKonta.Text);
ramkaGlowna.dodajKonto(noweKonto);
this.Close();
}
catch(System.FormatException exception)
{
MessageBox.Show("Złe dane:\n"+exception, "Błąd",
MessageBoxButtons.OK);
};
21. Dodać obsługę stworzonego formularza do przycisku Utwórz z formularza Ramka. W tym celu wybrać obsługę zdarzeń z własności przycisku Utwórz i ustawić obsługę Click na utworzClick. Wewnątrz metody stworzyć nowy obiekt t klasy RamkaNowegoKonta korzystając z konstruktora z parametrem oznaczającym bieżącą ramkę. Dla stworzonego obiektu wywołać metodę ShowDialog(), która wyświetli formularz do zbierania danych. Właściwe linie powinny mieć postać:
RamkaNoweKonto t = new
RamkaNoweKonto(this);
t.ShowDialog();
22. Do klasy Ramka dodać metodę publiczną metodę dodajKonto, która doda nowo utworzone konto (parametr KontoBankowe konto) do listy kombinowanej. Metoda powinna zawierać instrukcję:
konta.Items.Add(konto);
Aby zapewnić poprawne wyświetlanie nowego elementu ustaw własność DisplayMember listy kombinowanej konta na Wyswietl (metoda z klasy KontoBankowe umożliwiająca wyświetlenie obiektu tej klasy).
23. Skompilować program, poprawić ewentualne błędy i uruchomić. Sprawdzić, czy można dodać nowe konta do listy kombinowanej.
24. Dodać kasowanie konta do przycisku Kasuj. Ustawić obsługę zdarzenia Click tego przycisku na metodę kasujClick. Wewnątrz metody zadeklaruj zmienną typu KontoBankowe, której wartość zostanie odczytana z listy kombinowanej konta przy użyciu własności SelectedItem. Następnie, jeżeli istnieje wskazane konto użytkownik powinien zostać zapytany o potwierdzenie usunięcia konta, a w przypadku odpowiedzi twierdzącej konto powinno być usunięte z listy kombinowanej. Właściwy kod powinien mieć postać:
KontoBankowe konto = (KontoBankowe) konta.SelectedItem;
if( konto != null )
{
DialogResult key = MessageBox.Show("Jesteś pewny?",
"Potwierdzenie",MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if( key == DialogResult.Yes)
{
konta.Items.Remove(konto);
}
}
25. Samodzielnie stworzyć obsługę przycisków Wpłata i Wypłata.
26. Ostatnim etapem ćwiczenia jest dokumentacja przeprowadzonych czynności.