Bagikan melalui


Tutorial: Mengkustomisasi aplikasi WinForms kuis matematika

Dalam rangkaian empat tutorial ini, Anda akan membangun kuis matematika. Kuis berisi empat masalah matematika acak yang coba dijawab oleh pengamat kuis dalam waktu tertentu.

Tutorial ini menunjukkan kepada Anda cara meningkatkan kuis Anda dengan menghapus nilai default dan dengan menyesuaikan tampilan kontrol.

Dalam tutorial akhir ini, Anda mempelajari cara:

  • Tambahkan penanganan aktivitas untuk menghapus nilai kontrol NumericUpDown default.
  • Sesuaikan kuis.

Prasyarat

Tutorial ini dibangun pada tutorial sebelumnya, dimulai dengan Membuat aplikasi WinForms kuis matematika. Jika Anda belum menyelesaikan tutorial tersebut, lakukan terlebih dahulu.

Menambahkan penanganan aktivitas untuk kontrol NumericUpDown

Kuis berisi kontrol NumericUpDown yang digunakan pengawas kuis untuk memasukkan angka. Saat memasukkan jawaban, Anda harus memilih nilai default terlebih dahulu atau menghapus nilai tersebut secara manual. Dengan menambahkan penanganan aktivitas Enter, Anda dapat mempermudah memasukkan jawaban. Kode ini memilih dan menghapus nilai saat ini di setiap kontrol NumericUpDown segera setelah pengadil kuis memilihnya dan mulai memasukkan nilai yang berbeda.

  1. Pilih kontrol NumericUpDown pertama pada formulir. Dalam kotak dialog Properti, pilih ikon Peristiwa pada toolbar.

    Cuplikan layar yang memperlihatkan toolbar kotak dialog Properti. Ikon yang berisi petir dipanggil.

    Tab Peristiwa di Properti menampilkan semua peristiwa yang bisa Anda tanggapi untuk item yang Anda pilih di formulir. Dalam hal ini, semua peristiwa yang tercantum berkaitan dengan kontrol NumericUpDown.

  2. Pilih peristiwa Enter, masukkan answer_Enter, lalu pilih Enter.

    Cuplikan layar yang memperlihatkan kotak dialog Properti dengan peristiwa 'Enter' dipilih. Kolom metode berisi answer_Enter.

    Editor kode muncul dan menampilkan penangan kejadian Enter yang Anda buat untuk kontrol NumericUpDown jumlah .

  3. Dalam metode untuk penanganan aktivitas answer_Enter, tambahkan kode berikut:

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

Dalam kode ini:

  • Baris pertama mendeklarasikan metode . Ini termasuk parameter yang diberi nama sender. Di C#, parameternya object sender. Dalam Visual Basic, ini adalah sender As System.Object. Parameter ini mengacu pada objek yang peristiwanya diaktifkan, yang dikenal sebagai pengirim. Dalam hal ini, objek pengirim adalah kontrol NumericUpDown.
  • Baris pertama metode ini mengubah pengirim dari objek generik menjadi kontrol NumericUpDown. Baris itu juga menetapkan nama answerBox ke kontrol NumericUpDown. Semua kontrol NumericUpDown pada formulir akan menggunakan metode ini, bukan hanya kontrol masalah penambahan.
  • Baris berikutnya memverifikasi apakah answerBox berhasil diubah sebagai kontrol NumericUpDown.
  • Baris pertama di dalam pernyataan if menentukan panjang jawaban yang saat ini berada dalam kontrol NumericUpDown.
  • Baris kedua di dalam pernyataan if menggunakan panjang jawaban untuk memilih nilai saat ini dalam kontrol.

Saat pengambil kuis memilih kontrol, Visual Studio akan memicu peristiwa ini. Kode ini memilih jawaban saat ini. Segera setelah pengadil kuis mulai memasukkan jawaban yang berbeda, jawaban saat ini dibersihkan dan diganti dengan jawaban baru.

  1. Di Windows Forms Designer, pilih lagi kontrol NumericUpDown untuk masalah penambahan.

  2. Di halaman Peristiwa dari kotak dialog Properti, temukan peristiwa Klik, lalu pilih answer_Enter dari menu drop-down. Pengendali acara ini yang baru saja Anda tambahkan.

  3. Di Windows Forms Designer, pilih kontrol NumericUpDown masalah pengurangan.

  4. Di halaman Peristiwa dari kotak dialog Properti, temukan peristiwa Enter, lalu pilih answer_Enter dari menu drop-down. Pengendali acara ini yang baru saja Anda tambahkan. Ulangi langkah ini untuk peristiwa klik.

  5. Ulangi dua langkah sebelumnya untuk pengontrol NumericUpDown perkalian dan divisi.

Jalankan aplikasi Anda

  1. Simpan program Anda dan jalankan.

  2. Mulai kuis, dan pilih kontrol NumericUpDown. Nilai yang ada dipilih secara otomatis lalu dibersihkan saat Anda mulai memasukkan nilai yang berbeda.

    Cuplikan layar yang menampilkan aplikasi kuis dengan empat masalah matematika acak. Jawaban default untuk masalah pertama dipilih.

Sesuaikan kuis Anda

Di bagian terakhir tutorial ini, Anda akan menjelajahi beberapa cara untuk menyesuaikan kuis dan memperluas apa yang telah Anda pelajari.

Mengubah warna label

  • Gunakan properti BackColor dari kontrol timeLabel untuk mengubah label ini menjadi merah ketika hanya lima detik yang tersisa dalam kuis.

    timeLabel.BackColor = Color.Red;
    
  • Reset warna saat kuis selesai.

Putar suara untuk jawaban yang benar

Beri petunjuk kepada pengamat kuis dengan memutar suara ketika jawaban yang benar dimasukkan ke dalam kontrol NumericUpDown. Untuk menerapkan fungsionalitas ini, tulis penanganan aktivitas untuk setiap peristiwa ValueChanged kontrol. Peristiwa ini terjadi setiap kali partisipan kuis mengubah nilai kontrol.

Langkah berikutnya

Selamat! Anda telah menyelesaikan serangkaian tutorial ini. Anda telah menyelesaikan tugas pemrograman dan desain ini di Ide Visual Studio:

  • Membuat proyek Visual Studio yang menggunakan Windows Forms
  • Menambahkan label, tombol, dan kontrol NumericUpDown
  • Menambahkan pengatur waktu
  • Menyiapkan penanganan aktivitas untuk kontrol Anda
  • Kode C# atau Visual Basic tertulis untuk menangani peristiwa

Lanjutkan belajar dengan seri tutorial lain tentang cara membangun game yang cocok.