Freigeben über


Tutorial: Anpassen einer WinForms-App für ein Mathequiz

In dieser Reihe von vier Tutorials erstellen Sie ein Mathequiz. Das Quiz enthält vier zufällige mathematische Probleme, die Quizteilnehmer*innen innerhalb einer angegebenen Zeit zu beantworten versuchen.

In diesem Tutorial erfahren Sie, wie Sie Ihr Quiz verbessern, indem Sie Standardwerte löschen und die Darstellung von Steuerelementen anpassen.

In diesem letzten Tutorial lernen Sie Folgendes:

  • Hinzufügen von Ereignishandlern zum Löschen der NumericUpDown-Standardsteuerelementwerte
  • Anpassen des Quiz

Voraussetzungen

Dieses Tutorial baut auf vorherigen Tutorials auf, beginnend mit dem Tutorial Erstellen einer WinForms-App für ein Mathequiz. Wenn Sie diese Tutorials noch nicht abgeschlossen haben, sollten Sie sie zuerst durcharbeiten.

Hinzufügen von Ereignishandlern für die NumericUpDown-Steuerelemente

Das Quiz enthält NumericUpDown-Steuerelemente, die Quizteilnehmer*innen zum Eingeben von Zahlen verwenden. Wenn Sie eine Antwort eingeben, müssen Sie entweder zuerst den Standardwert auswählen oder diesen Wert manuell löschen. Durch Hinzufügen eines Enter-Ereignishandlers können Sie die Eingabe von Antworten vereinfachen. Mit diesem Code wird der aktuelle Wert in den einzelnen NumericUpDown-Steuerelementen ausgewählt und gelöscht, sobald Quizteilnehmer*innen auf das Steuerelement klicken und einen anderen Wert eingeben.

  1. Klicken Sie auf das erste NumericUpDown-Steuerelement im Formular. Klicken Sie im Dialogfeld Eigenschaften auf das Symbol Ereignisse auf der Symbolleiste.

    Screenshot that shows the toolbar of the Properties dialog box. An icon that contains a lightning bolt is called out.

    Auf der Registerkarte Ereignisse unter Eigenschaften werden alle Ereignisse angezeigt, auf die Sie für das Element reagieren können, das Sie im Formular ausgewählt haben. In diesem Fall beziehen sich alle aufgeführten Ereignisse auf das NumericUpDown-Steuerelement.

  2. Wählen Sie das Ereignis Enter aus, geben Sie answer_Enter ein, und klicken Sie dann die EINGABETASTE.

    Screenshot that shows the Properties dialog box with the Enter event selected. The method box contains answer_Enter.

    Der Code-Editor wird geöffnet und zeigt den Ereignishandler „Enter“ an, den Sie für das NumericUpDown-Steuerelement sum (Summe) erstellt haben.

  3. Fügen Sie in der Methode für den answer_Enter-Ereignishandler den folgenden Code hinzu:

    private void answer_Enter(object sender, EventArgs e)
    {
        // Select the whole answer in the NumericUpDown control.
        NumericUpDown answerBox = sender as NumericUpDown;
    
        if (answerBox != null)
        {
            int lengthOfAnswer = answerBox.Value.ToString().Length;
            answerBox.Select(0, lengthOfAnswer);
        }
    }
    

Wichtig

Verwenden Sie das Programmiersprachensteuerelement oben rechts auf dieser Seite, um entweder den C#-Codeausschnitt oder den Visual Basic-Codeausschnitt anzuzeigen.

Programming language control for Microsoft Learn

In diesem Code:

  • In der ersten Zeile wird die Methode deklariert. Sie enthält einen Parameter mit dem Namen sender. In C# lautet der Parameter object sender. In Visual Basic wird sender As System.Object verwendet. Dieser Parameter verweist auf das Objekt, dessen Ereignis ausgelöst wird, das als Absender bezeichnet wird. In diesem Fall ist das Absenderobjekt das NumericUpDown-Steuerelement.
  • Die erste Zeile innerhalb der Methode wandelt den Sender von einem generischen Objekt in ein NumericUpDown-Steuerelement um oder konvertiert diesen. Diese Zeile weist dem NumericUpDown-Steuerelement auch den Namen answerBox zu. Alle NumericUpDown-Steuerelemente im Formular verwenden diese Methode, nicht nur das Steuerelement der Additionsaufgabe.
  • In der nächsten Zeile wird überprüft, ob answerBox erfolgreich in ein NumericUpDown-Steuerelement umgewandelt wurde.
  • Die erste Zeile in der if-Anweisung bestimmt die Länge der Antwort, die sich derzeit im NumericUpDown-Steuerelement befindet.
  • Die zweite Zeile in der if-Anweisung verwendet die Antwortlänge, um den aktuellen Wert im Steuerelement auszuwählen.

Wenn Quizteilnehmer*innen auf das Steuerelement klicken, löst Visual Studio dieses Ereignis aus. Dieser Code markiert die aktuelle Antwort. Sobald Quizteilnehmer*innen eine andere Antwort eingeben, wird die vorherige Antwort gelöscht und durch die neue Antwort ersetzt.

  1. Wählen Sie im Windows Forms-Designer erneut das NumericUpDown-Steuerelement der Additionsaufgabe aus.

  2. Suchen Sie auf der Seite Ereignisse des Dialogfelds Eigenschaften nach dem Click-Ereignis, und wählen Sie dann im Dropdownmenü answer_Enter aus. Dies ist der Ereignishandler, den Sie gerade hinzugefügt haben.

  3. Klicken Sie im Windows Forms-Designer auf das NumericUpDown-Steuerelement der Subtraktionsaufgabe.

  4. Suchen Sie auf der Seite Ereignisse des Dialogfelds Eigenschaften nach dem Enter-Ereignis, und wählen Sie dann im Dropdownmenü answer_Enter aus. Dies ist der Ereignishandler, den Sie gerade hinzugefügt haben. Wiederholen Sie diesen Schritt für das Click-Ereignis.

  5. Wiederholen Sie die beiden vorherigen Schritte für die NumericUpDown-Steuerelemente für die Multiplikations- bzw. Divisionsaufgabe.

Ausführen der App

  1. Speichern Sie das Programm, und führen Sie es aus.

  2. Starten Sie ein Quiz, und wählen Sie ein NumericUpDown-Steuerelement aus. Der vorhandene Wert wird automatisch markiert und dann gelöscht, wenn Sie beginnen, einen anderen Wert einzugeben.

    Screenshot that shows the quiz app with four random math problems. The default answer to the first problem is selected.

Anpassen Ihres Quiz

In diesem letzten Teil des Tutorials lernen Sie einige Möglichkeiten kennen, das Quiz anzupassen und das neue Wissen zu vertiefen.

Ändern der Farbe einer Bezeichnung

  • Verwenden Sie die BackColor-Eigenschaft des timeLabel-Steuerelements, um diese Bezeichnung rot zu färben, wenn in einem Quiz nur noch für fünf Sekunden eine Eingabe möglich ist.

    timeLabel.BackColor = Color.Red;
    
  • Setzen Sie die Farbe zurück, wenn das Quiz vorbei ist.

Wiedergeben eines Geräuschs für eine richtige Antwort

Geben Sie dem Quizteilnehmer einen Hinweis, indem Sie einen Sound wiedergeben, wenn in ein NumericUpDown-Steuerelement die richtige Antwort eingegeben wird. Um diese Funktionalität zu implementieren, schreiben Sie einen Ereignishandler für das ValueChanged-Ereignis jedes Steuerelements. Diese Art von Ereignis wird ausgelöst, wenn Quizteilnehmer*innen den Wert des Steuerelements ändern.

Nächste Schritte

Glückwunsch! Sie haben diese Tutorialreihe abgeschlossen. Sie haben diese Programmier- und Entwurfsaufgaben in der Visual Studio-IDE abgeschlossen:

  • Erstellen eines Visual Studio-Projekts, das Windows Forms verwendet
  • Hinzufügen von Bezeichnungen, einer Schaltfläche und NumericUpDown-Steuerelementen
  • Hinzufügen eines Timers
  • Einrichten von Ereignishandlern für Ihre Steuerelemente
  • Schreiben von C#- oder Visual Basic-Code zum Behandeln der Ereignisse

Fahren Sie mit einer weiteren Tutorialreihe zum Erstellen eines Vergleichsspiels fort.