Megosztás a következőn keresztül:


Oktatóanyag: Matematikai teszt WinForms-alkalmazás testreszabása

Ebben a négy oktatóanyagból álló sorozatban matematikai tesztet fog készíteni. A teszt négy véletlenszerű matematikai problémát tartalmaz, amelyeket a tesztválasztó egy megadott időn belül próbál megválaszolni.

Ez az oktatóanyag bemutatja, hogyan javíthatja a tesztet az alapértelmezett értékek törlésével és a vezérlők megjelenésének testreszabásával.

Ebben az utolsó oktatóanyagban megtanulhatja, hogyan:

  • Eseménykezelők hozzáadása a NumericUpDown alapértelmezett vezérlőértékek törléséhez.
  • A kvíz testreszabása.

Előfeltételek

Ez az oktatóanyag a korábbi oktatóanyagokra épül, kezdve Matematikai teszt létrehozása WinForms-alkalmazás. Ha még nem végezte el ezeket az oktatóanyagokat, először haladjon végig rajtuk.

Eseménykezelők hozzáadása a NumerikusupDown vezérlőkhöz

A teszt NumericUpDown vezérlőelemeket tartalmaz, amelyekkel a teszteket használók számokat adhatnak meg. Amikor választ ad meg, először ki kell választania az alapértelmezett értéket, vagy manuálisan kell törölnie. Ha hozzáad egy Enter eseménykezelőt, egyszerűbbé teheti a válaszok megadását. Ez a kód kijelöli és törli az aktuális értéket az egyes NumerikusupDown vezérlőkben, amint a tesztválasztó kijelöli azt, és elkezd egy másik értéket megadni.

  1. Válassza ki az űrlap első NumericUpDown vezérlőelemét. A Tulajdonságok párbeszédpanelen válassza az eszköztár Események ikont.

    Képernyőkép a Tulajdonságok párbeszédpanel eszköztáráról. A villámot tartalmazó ikon ki van emelve.

    A Tulajdonságok lap Események fülén megjelenik az űrlapon kiválasztott elemhez kapcsolódó összes esemény. Ebben az esetben az összes felsorolt esemény a NumericUpDown vezérlőelemre vonatkozik.

  2. Válassza ki az Enter eseményt, írja be a answer_Enter, majd válassza az Enterlehetőséget.

    Képernyőkép a Tulajdonságok párbeszédpanelről, amelyen az Enter esemény van kiválasztva. A metódusmező answer_Enter tartalmaz.

    Megjelenik a kódszerkesztő, és láthatóvá válik a összeg NumericUpDown vezérlőelemhez létrehozott Enter eseménykezelő.

  3. Az answer_Enter eseménykezelő metódusában adja hozzá a következő kódot:

    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);
        }
    }
    

Ebben a kódban:

  • Az első sor deklarálja a metódust. Tartalmaz egy sendernevű paramétert. A C#-ban a paraméter object sender. A Visual Basicben ez a sender As System.Object. Ez a paraméter arra az objektumra vonatkozik, amelynek az eseménye aktiválódik, amelyet feladónak nevezünk. Ebben az esetben a feladó objektuma a NumericUpDown vezérlő.
  • A metódus első sora generálja vagy konvertálja a feladót egy általános objektumból NumerikusUpDown-vezérlővé. Ez a sor a AnswerBox nevét is hozzárendeli a NumericUpDown vezérlőelemhez. Az űrlap összes NumericUpDown-vezérlője ezt a módszert fogja használni, nem csak az összeadási probléma vezérlőjét.
  • A következő sor ellenőrzi, hogy answerBox sikerült-e NumericUpDown vezérlőként konvertálni.
  • A if utasítás első sora határozza meg a NumerikusupDown vezérlőelemben jelenleg használt válasz hosszát.
  • A if utasítás második sora a válasz hosszával választja ki a vezérlőelem aktuális értékét.

Amikor a tesztválasztó kiválasztja a vezérlőt, a Visual Studio aktiválja ezt az eseményt. Ez a kód kiválasztja az aktuális választ. Amint a tesztválasztó elkezd egy másik választ megadni, a rendszer törli az aktuális választ, és lecseréli az új választ.

  1. A Windows Forms Designerben válassza ki újra a hozzáadási problémaNumericUpDown vezérlőjét.

  2. A Események lapon a Tulajdonságok párbeszédpanelen keresse meg a Kattintás eseményt, majd válassza ki a answer_Enter elemet a legördülő menüből. Ez az eseménykezelő az, amelyet az imént adtál hozzá.

  3. A Windows Forms Designerválassza ki a kivonási probléma NumericUpDown vezérlőjét.

  4. A Események lapján a Tulajdonságok párbeszédpanelen keresse meg az Enter eseményt, majd válassza a answer_Enter lehetőséget a legördülő menüből. Ez az eseménykezelő az, amelyet az imént adtál hozzá. Ismételje meg ezt a lépést a Kattintson eseményre.

  5. Ismételje meg az előző két lépést a numerikusupDown-vezérlők szorzásához és osztásához.

Az alkalmazás futtatása

  1. Mentse a programot, és futtassa.

  2. Indítson el egy kvízt, és válasszon egy NumericUpDown vezérlőt. A meglévő érték automatikusan ki lesz jelölve, majd törlődik, amikor egy másik értéket kezd beírni.

    Négy véletlenszerű matematikai problémával rendelkező tesztalkalmazás képernyőképe. Az első problémára az alapértelmezett válasz van kiválasztva.

A teszt testreszabása

Az oktatóanyag utolsó részében megismerheti a teszt testreszabásának és a tanultak kibontásának néhány módját.

Címke színének módosítása

  • A timeLabel vezérlőelem BackColor tulajdonságával pirosra válthatja a címkét, ha csak öt másodperc marad egy tesztben.

    timeLabel.BackColor = Color.Red;
    
  • Állítsa vissza a színt a teszt befejezésekor.

Hang lejátszása a helyes válasz érdekében

Adjon egy tippet a tesztválasztónak úgy, hogy hangot játszik le, amikor a helyes választ egy NumericUpDown vezérlőelembe adja. A funkció implementálásához írjon egy eseménykezelőt az egyes vezérlők ValueChanged eseményeihez. Ez az eseménytípus akkor aktiválódik, amikor egy kvíz kitöltő módosítja a vezérlő értékét.

Következő lépések

Gratulálok! Befejezte ezt az oktatóanyag-sorozatot. Ezeket a programozási és tervezési feladatokat a Visual Studio IDE-ben végezte el:

  • Windows Formst használó Visual Studio-projekt létrehozása
  • Címkék, egy gomb és NumericUpDown vezérlők lettek hozzáadva
  • Időzítő hozzáadása
  • Eseménykezelők beállítása a vezérlőkhöz
  • C# vagy Visual Basic kód írása az események kezeléséhez

Folytassa a tanulást egy másik oktatóanyag-sorozattal, amely bemutatja, hogyan hozhat létre egy megfelelő játékot.