Samouczek: dostosowywanie testu matematycznego aplikacji WinForms
W tej serii czterech samouczków utworzysz test matematyczny. Test zawiera cztery losowe problemy matematyczne, na które test próbuje odpowiedzieć w określonym czasie.
W tym samouczku pokazano, jak ulepszyć test przez wyczyszczenie wartości domyślnych i dostosowanie wyglądu kontrolek.
Z tego ostatniego samouczka dowiesz się, jak wykonywać następujące czynności:
- Dodaj programy obsługi zdarzeń, aby wyczyścić domyślne wartości kontrolek NumericUpDown.
- Dostosuj test.
Wymagania wstępne
Ten samouczek opiera się na poprzednich samouczkach, zaczynając od sekcji Tworzenie aplikacji WinForms do testu matematycznego. Jeśli te samouczki nie zostały ukończone, najpierw zapoznaj się z nimi.
Dodawanie procedur obsługi zdarzeń dla kontrolek NumericUpDown
Test zawiera NumericUpDown kontrolki, których osoby testujące używają do wprowadzania liczb. Po wprowadzeniu odpowiedzi musisz najpierw wybrać wartość domyślną lub usunąć tę wartość ręcznie. Dodając procedurę obsługi zdarzeń Enter , możesz ułatwić wprowadzanie odpowiedzi. Ten kod wybiera i czyści bieżącą wartość w każdej kontrolce NumericUpDown, gdy tylko wybierze ją, a następnie zacznie wprowadzać inną wartość.
Wybierz pierwszą kontrolkę NumericUpDown w formularzu. W oknie dialogowym Właściwości wybierz ikonę Zdarzenia na pasku narzędzi.
Na karcie Zdarzenia w obszarze Właściwości są wyświetlane wszystkie zdarzenia, na które można odpowiedzieć dla elementu wybranego w formularzu. W tym przypadku wszystkie wymienione zdarzenia odnoszą się do kontrolki NumericUpDown.
Wybierz zdarzenie Enter, wprowadź answer_Enter, a następnie wybierz klawisz Enter.
Zostanie wyświetlony edytor kodu i zostanie wyświetlona procedura obsługi zdarzeń Enter utworzona dla sumy kontrolki NumericUpDown.
W metodzie obsługi zdarzeń answer_Enter dodaj następujący kod:
Ważne
Użyj kontrolki języka programowania w prawym górnym rogu tej strony, aby wyświetlić fragment kodu języka C# lub fragment kodu języka Visual Basic.
W tym kodzie:
- Pierwszy wiersz deklaruje metodę . Zawiera parametr o nazwie
sender
. W języku C#parametr ma wartośćobject sender
. W języku Visual Basic jest tosender As System.Object
. Ten parametr odnosi się do obiektu, którego zdarzenie jest wyzwalane, co jest nazywane nadawcą. W takim przypadku obiekt nadawcy jest kontrolką NumericUpDown. - Pierwszy wiersz wewnątrz metody rzutuje lub konwertuje nadawcę z obiektu ogólnego na kontrolkę NumericUpDown. Ten wiersz przypisuje również nazwę answerBox do kontrolki NumericUpDown. Wszystkie kontrolki NumericUpDown w formularzu będą używać tej metody, a nie tylko kontrolki problemu dodawania.
- Następny wiersz sprawdza, czy element answerBox został pomyślnie oddany jako kontrolka NumericUpDown.
- Pierwszy wiersz wewnątrz instrukcji
if
określa długość odpowiedzi, która znajduje się obecnie w kontrolce NumericUpDown. - Drugi wiersz wewnątrz instrukcji
if
używa długości odpowiedzi, aby wybrać bieżącą wartość w kontrolce.
Gdy użytkownik quizu wybierze kontrolkę, program Visual Studio uruchomi to zdarzenie. Ten kod wybiera bieżącą odpowiedź. Gdy tylko użytkownik quizu zacznie wprowadzać inną odpowiedź, bieżąca odpowiedź zostanie wyczyszczone i zastąpiona nową odpowiedzią.
W Projektant formularzy systemu Windows wybierz ponownie kontrolkę NumericUpDown problemu dodawania.
Na stronie Zdarzenia okna dialogowego Właściwości znajdź zdarzenie Kliknij, a następnie wybierz answer_Enter z menu rozwijanego. Ta procedura obsługi zdarzeń jest właśnie dodawana.
W Projektant formularzy systemu Windows wybierz kontrolkę NumericUpDown problemu z odejmowaniem.
Na stronie Zdarzenia okna dialogowego Właściwości znajdź zdarzenie Enter , a następnie wybierz pozycję answer_Enter z menu rozwijanego. Ta procedura obsługi zdarzeń jest właśnie dodawana. Powtórz ten krok dla zdarzenia Click .
Powtórz dwa poprzednie kroki dla kontrolek mnożenia i dzielenia LiczbicUpDown.
Uruchamianie aplikacji
Zapisz program i go uruchom.
Rozpocznij test i wybierz kontrolkę NumericUpDown. Istniejąca wartość jest wybierana automatycznie, a następnie czyszczone po rozpoczęciu wprowadzania innej wartości.
Dostosowywanie testu
W tej ostatniej części samouczka zapoznasz się z pewnymi sposobami dostosowywania testu i rozwinięcia zdobytej wiedzy.
Zmienianie koloru etykiety
Użyj właściwości BackColor kontrolki timeLabel, aby zmienić tę etykietę na czerwono, gdy tylko pięć sekund pozostanie w tezie.
Zresetuj kolor, gdy test się skończył.
Odtwarzanie dźwięku dla poprawnej odpowiedzi
Przekaż wskazówkę do testu, odtwarzając dźwięk, gdy prawidłowa odpowiedź zostanie wprowadzona do kontrolki NumericUpDown . Aby zaimplementować tę funkcję, napisz procedurę obsługi zdarzeń dla zdarzenia poszczególnych kontrolek ValueChanged . To zdarzenie jest uruchamiane za każdym razem, gdy użytkownik quizu zmienia wartość kontrolki.
Następne kroki
Gratulacje! Ta seria samouczków została ukończona. Te zadania programistyczne i projektowe zostały wykonane w środowisku IDE programu Visual Studio:
- Utworzono projekt programu Visual Studio korzystający z formularzy Systemu Windows
- Dodano etykiety, przyciski i kontrolki NumericUpDown
- Dodano czasomierz
- Konfigurowanie procedur obsługi zdarzeń dla kontrolek
- Napisany kod w języku C# lub Visual Basic do obsługi zdarzeń
Kontynuuj naukę z inną serią samouczków na temat tworzenia pasującej gry.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla