Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här serien med fyra självstudier skapar du ett matematiskt test. Testet innehåller fyra slumpmässiga matematiska problem som en testtagare försöker besvara inom en angiven tid.
Den här handledningen visar hur du förbättrar din frågesport genom att rensa standardvärden och genom att anpassa utseendet på kontroller.
I den här sista handledningen lär du dig att:
- Lägg till händelsehanterare för att rensa standardvärdena för NumericUpDown-kontroll.
- Anpassa quizet.
Förutsättningar
Den här självstudien bygger på tidigare självstudier, som börjar med Skapa en WinForms-app för matematikquiz. Om du inte har slutfört dessa handledningar, gå igenom dem först.
Lägga till händelsehanterare för kontrollerna NumericUpDown
Frågesporten innehåller NumericUpDown kontroller som testtagarna använder för att ange siffror. När du anger ett svar måste du antingen välja standardvärdet först eller ta bort det värdet manuellt. Genom att lägga till en Enter händelsehanterare kan du göra det enklare att ange svar. Den här koden väljer och rensar det aktuella värdet i varje NumericUpDown-kontroll så fort testtagaren väljer den och börjar ange ett annat värde.
Välj den första NumericUpDown-kontrollen i formuläret. I dialogrutan Egenskaper väljer du ikonen Händelser i verktygsfältet.
Fliken händelser i Egenskaper visar alla händelser som du kan svara på för det objekt som du har valt i formuläret. I det här fallet gäller alla angivna händelser kontrollen NumericUpDown.
Välj händelsen Enter, ange answer_Enteroch välj sedan Enter.
Kodredigeraren visas och visar den Enter-händelsehanterare som du skapade för summa av NumericUpDown-kontrollelement.
Lägg till följande kod i metoden för answer_Enter händelsehanterare:
I den här koden:
- Den första raden deklarerar metoden. Den innehåller en parameter med namnet
sender. I C# är parameternobject sender. I Visual Basic är detsender As System.Object. Den här parametern refererar till det objekt vars händelse utlöser, vilket kallas avsändaren. I det här fallet är avsändarobjektet kontrollen NumericUpDown. - Den första raden i metoden kastar, eller konverterar, sender från ett generiskt objekt till en NumericUpDown-kontroll. Den raden tilldelar också namnet answerBox- till kontrollen NumericUpDown. Alla NumericUpDown-kontroller i formuläret använder den här metoden, inte bara additionsproblemets kontroll.
- Nästa rad verifierar om answerBox framgångsrikt har kastats som en NumericUpDown-kontroll.
- Den första raden i
if-instruktionen avgör längden på svaret som för närvarande finns i NumericUpDown-kontrollen. - Den andra raden i
if-instruktionen använder svarslängden för att välja det aktuella värdet i kontrollen.
När testtagaren väljer kontrollen utlöses den här händelsen av Visual Studio. Den här koden väljer det aktuella svaret. Så snart testtagaren börjar ange ett annat svar rensas det aktuella svaret och ersätts med det nya svaret.
I Windows Forms Designerväljer du additionsproblemets NumericUpDown-kontroll igen.
På sidan Händelser i dialogrutan Egenskaper letar du reda på händelsen Klicka och väljer sedan answer_Enter i den nedrullningsbara menyn. Den här händelsehanteraren är den som du precis har lagt till.
I Windows Forms Designerväljer du undertraktionsproblemets NumericUpDown-kontroll.
På sidan Händelser i dialogrutan Egenskaper letar du reda på händelsen Enter och väljer sedan answer_Enter från rullgardinsmenyn. Den här händelsehanteraren är den som du precis har lagt till. Upprepa det här steget för Klicka på-händelsen.
Upprepa de två föregående stegen för NumericUpDown-kontrollerna för multiplikation och division.
Kör din app
Spara programmet och kör det.
Starta ett test och välj en NumericUpDown-kontroll. Det befintliga värdet väljs automatiskt och rensas sedan när du börjar ange ett annat värde.
Anpassa din frågesport
I den här sista delen av handledningen utforskar du några sätt att anpassa quizet och utöka det du har lärt dig.
Ändra färg på en etikett
Använd egenskapen BackColor för timeLabel kontroll för att göra etiketten röd när bara fem sekunder återstår i ett test.
Återställ färgen när testet är över.
Spela upp ett ljud för ett korrekt svar
Ge frågesportstagaren en ledtråd genom att spela upp ett ljud när rätt svar anges i ett NumericUpDown-kontrollfält. Om du vill implementera den här funktionen skriver du en händelsehanterare för varje kontrolls ValueChanged händelse. Den här typen av event utlöses när en testtagare ändrar kontrollens värde.
Nästa steg
Grattis! Du har slutfört den här serien med självstudier. Du har slutfört dessa programmerings- och designuppgifter i Visual Studio IDE:
- Skapade ett Visual Studio-projekt som använder Windows Forms
- Etiketter, en knapp och kontroller för NumericUpDown har lagts till
- Lade till en timer
- Konfigurera händelsehanterare för dina kontroller
- Skriven C# eller Visual Basic-kod för att hantera händelserna
Fortsätt att lära dig med en annan handledningsserie om hur du skapar ett parspel.