(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Schritt 5: Hinzufügen von Bezeichnungsverweisen

Das Programm muss nachverfolgen, auf welche Label-Steuerelemente ein Spieler klickt. Nachdem auf die erste Bezeichnung geklickt wurde, zeigt das Programm das Symbol der Bezeichnung an. Nachdem auf die zweite Bezeichnung geklickt wurde, muss das Programm beide Symbole für eine kurze Zeit anzeigen und dann wieder ausblenden. Das Programm verfolgt mithilfe von Verweisvariablen, auf welches Label-Steuerelement zuerst und auf welches danach geklickt wird.

So fügen Sie Bezeichnungsverweise hinzu

  1. Fügen Sie dem Formular Bezeichnungsverweise hinzu, indem Sie den folgenden Code verwenden.

    
    public partial class Form1 : Form
    {
        // firstClicked points to the first Label control 
        // that the player clicks, but it will be null 
        // if the player hasn't clicked a label yet
        Label firstClicked = null;
    
        // secondClicked points to the second Label control 
        // that the player clicks
        Label secondClicked = null;
    
    
    
    Hinweis Hinweis

    Die Verweisvariablen ähneln im Aussehen den Anweisungen, mit denen Sie dem Formular Objekte (wie Timer-Objekte, List-Objekte und Random-Objekte) hinzugefügt haben. Diese Anweisungen bewirken jedoch nicht, dass im Formular zwei zusätzliche Label-Steuerelemente angezeigt werden, da new in beiden Anweisungen nicht enthalten ist. Ohne new wird kein Objekt erstellt. firstClicked und secondClicked werden als Verweisvariablen bezeichnet, weil sie Label-Objekte nur nachverfolgen (bzw. darauf verweisen).

    Hinweis Hinweis

    Wenn eine Variable ein Objekt nicht nachverfolgt, wird sie auf einen besonderen Wert festgelegt: null in Visual C# und Nothing in Visual Basic. Beim Starten des Programms wird also sowohl firstClicked als auch secondClicked auf null bzw. Nothing festgelegt. Dies bedeutet, dass die Variablen keine Objekte nachverfolgen.

  2. Ändern Sie den Click-Ereignishandler so, dass er die neue firstClicked-Verweisvariable verwendet. Entfernen Sie die letzte Anweisung in der label_Click()-Ereignishandlermethode (clickedLabel.ForeColor = Color.Black;), und ersetzen Sie diese durch die if-Anweisung, die darauf folgt. (Stellen Sie sicher, dass Sie den Kommentar und die gesamte Anweisung if ) einschließen.

    
    /// <summary>
    /// Every label's Click event is handled by this event handler
    /// </summary>
    /// <param name="sender">The label that was clicked</param>
    /// <param name="e"></param>
    private void label_Click(object sender, EventArgs e)
    {
        Label clickedLabel = sender as Label;
    
        if (clickedLabel != null)
        {
            // If the clicked label is black, the player clicked
            // an icon that's already been revealed --
            // ignore the click
            if (clickedLabel.ForeColor == Color.Black)
                return;
    
            // If firstClicked is null, this is the first icon 
            // in the pair that the player clicked,
            // so set firstClicked to the label that the player 
            // clicked, change its color to black, and return
            if (firstClicked == null)
            {
                firstClicked = clickedLabel;
                firstClicked.ForeColor = Color.Black;
    
                return;
            }
        }
    }
    
    
    
  3. Speichern Sie das Programm, und führen Sie es aus. Klicken Sie auf eines der Label-Steuerelemente. Das entsprechende Symbol wird angezeigt.

  4. Klicken Sie auf das nächste Label-Steuerelement. Sie merken, dass nichts passiert. Das Programm verfolgt bereits die erste Bezeichnung nach, auf die der Spieler geklickt hat. firstClicked entspricht also nicht null (in Visual C#) bzw. Nothing (in Visual Basic). Wenn die if-Anweisung firstClicked darauf überprüft, ob sie null oder Nothing entspricht, stellt sie fest, dass dies nicht der Fall ist. Die Anweisungen in der if-Anweisung werden also nicht ausgeführt. Deshalb wird nur das erste Symbol, auf das geklickt wird, in die Farbe Schwarz geändert. Die anderen Symbole bleiben ausgeblendet. Dies ist in der folgenden Abbildung dargestellt.

    Anzeige eines Symbols im Vergleichsspiel

    Anzeige eines Symbols im Vergleichsspiel

So fahren Sie fort oder überprüfen die Angaben

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.