4 Vb.Net messageBox oraz instrukcja warunkowa IF

MessageBox

Jeśli dotarliście tutaj i droga wam nie zmierzła to tutaj pobawimy się trochę MessageBox'em a przy okazji zobaczycie jak używać instrukcji If. Zaczynamy !
MessageBox to takie wyskakujące okienko, które zazwyczaj informuje nas o jakichś zdarzeniach, które mają nastąpić lub już nastąpiły. Spróbujmy sobie wyświetlić MessageBoxa i zobaczmy jak wygląda. Używamy naszego naszego projektu MojPierwszyProgram. Kod wpiszmy w procedurze obsługi zdarzenia Click naszego przycisku.
Przykład:
MessageBox.Show("Hello World !", "Przywitanie")
Po uruchomieniu programu i naciśnięciu przycisku pojawi nam się takie okienko. Okno jest zatytułowane "Przywitanie" a w treści mamy "Hello World !". To jest podstawowa wersja okna jaką możemy oglądać, modyfikując kod można dodać jeszcze kilka innych atrybutów. 
Przykład:
MessageBox.Show("Hello World !", "Przywitanie", MessageBoxButtons.YesNo,MessageBoxIcon.Question)

W tym poradniku nauczymy się korzystać z własności MessageBox'a. Jest on bardzo przydatny, między innymi dzięki niemu program może komunikować się z użytkownikiem, zadając mu pytania lub po prostu informując go np. o błędach, czynnościach, które się zakończyły itp. Zaraz zaraz, ale przecież jak naciskam "Tak" lub "Nie" to nic się w programie nie dzieje ! MessageBox po naciśnięciu na przycisk zwraca odpowiedź, tylko my jeszcze jej nie oprogramowaliśmy. Spróbujmy zatem wyłapać to, co on nam odpowiada. Napiszmy kod:

Dim OdpMBox As DialogResult = MessageBox.Show("Czy chcesz się przywitać ze światem?", "Przywitanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If OdpMBox = Windows.Forms.DialogResult.Yes Then
            MessageBox.Show("Witaj Świecie !", "Przywitanie")
        ElseIf OdpMBox = Windows.Forms.DialogResult.No Then
            MessageBox.Show("Nie będę się witał :(", "Odmowa")
        End If

IF

I co tutaj się dzieje? co to są te If i Then? Jak wiadomo z języka angielskiego słowi If oznacza jeżeli, a słowo Then oznacza następnie (bardziej jednak pasuje "to wtedy").
Przeanalizujmy więc kod. 

Dim OdpMBox as DialogResult - deklarujemy zmienną o nazwie OdpMBox która będzie pobierała zwrot wartości MessageBox'a w przypadku naciśnięcia Tak lub Nie.

MessageBox.Show("Czy chcesz się przywitać ze światem?", "Przywitanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Wyświetlenie okna MessageBox z parametrami:
  • "Text As String" czyli wyświetlany ciąg znaków (w naszym przypadku "Czy chcesz się przywitać ze światem?")
  • Caption as String czyli z angielskiego "podpis" jako ciąg znaków - bardziej by pasowało chyba nagłówek (w naszym przypadku "Przywitanie")
  • Buttons As Windows.Forms.MessageBoxButtons czyli rodzaj przycisków jakie chcemy użyć w zapytaniu w naszym przypadku MessageBoxButtons.YesNo 
  • Icon As System.Windows.Forms,MessageBoxIcon -ikona wyświetlanego MessageBox'a
    (w naszym przypadku MessageBoxIcon.Question)
 Następnie wstawienie zmiennej odpowiedzi MessageBox'a (OdpMBox) do instrukcji warunkowej IF

A teraz przetłumaczmy to na nasz język
If OdpMBox = Windows.Forms.DialogResult.Yes Then
Jeżeli zmienna OdpMBox będzie zawierała odpowiedź "Tak" to wtedy

MessageBox.Show("Witaj Świecie !", "Przywitanie")
Wyświetlamy nowy MessageBox z tekstem "Witaj Świecie !" o nagłówku "Przywitanie"

ElseIf OdpMBox = Windows.Forms.DialogResult.No Then
Albo jeśli zmienna OdpMBox będzie zawierała odpowiedź "Nie" to wtedy

MessageBox.Show("Nie będę się witał :(", "Odmowa")
Wyświetlamy nowy MessageBox z tekstem "Nie będę się witał :(" o nagłówku "Odmowa"

End If
Zakończenie instrukcji warunkowej

Instrukcja If posiada jeszcze jedną ważną właściwość Else. Rozważmy poniższy przykład:
        Dim Imie1 As String = "Karol"
        Dim Imie2 As String = "Adam"
        Dim Imie3 As String = "Henryk"
        Dim Imie4 As String = "Waldek"

        Dim haslo As String
        haslo = InputBox("Proszę podać swoje imię", "Imię")
        If haslo = Imie1 Then
            MessageBox.Show("Możesz wejść", "Akceptacja")
        ElseIf haslo = Imie2 Then
            MessageBox.Show("Możesz wejść", "Akceptacja")
        ElseIf haslo = Imie3 Then
            MessageBox.Show("Możesz wejść", "Akceptacja")
        ElseIf haslo = Imie4 Then
            MessageBox.Show("Możesz wejść", "Akceptacja")
        Else
            MessageBox.Show("Niestety nie możesz wejść", "Brak zgody")
        End If

Jeśli zmienna "haslo" nie spełnia warunku If, oraz nie spełnia również innych warunków ElseIf, to trafia wtedy do instrukcji Else czyli do pozostałych.

Instrukcja Else może istnieć równie dobrze bez warunków dodatkowych ElseIf na przykład:
        Dim haslo As String = "Karol"
        Dim OdpIB As String
        OdpIB = InputBox("Proszę podać swoje imię", "Imię")
        If haslo = OdpIB Then
            MessageBox.Show("Hasło poprawne", "Akceptacja")
        Else
            MessageBox.Show("Hasło niepoprawne", "Brak dostępu")
        End If

Poznaliśmy zatem dwa elementy MessageBox oraz instrukcje If, które poprowadzą nas dalej w świat programowania Visual Basic.

Przyszedł czas na zadanie domowe ! że co? zadanie domowe? No tak !
Weźmy sobie ten sam MessageBox, tylko że odpowiedź na jego pytanie ma znaleźć się w naszej etykiecie na formie zamiast w wyświetlanych MessageBox'ach. Czyli na odpowiedź "Tak" w etykiecie ma się pojawić "Witaj Świecie !" a na odpowiedź "Nie" ma się wyświetlić ("Nie będę się witał :(" Proste? mam nadzieje, bo dalej to będzie już tylko trudniej ;)


Zachęcam do nauki i zapraszam do następnego piątego już poradnika.


Utworzono 07.09.2015r


Brak komentarzy:

Prześlij komentarz