Bagikan melalui


Cara: Menampilkan Ikon Kesalahan untuk Validasi Formulir dengan Komponen Windows Forms ErrorProvider

Anda dapat menggunakan komponen Windows Forms ErrorProvider untuk menampilkan ikon kesalahan saat pengguna memasukkan data yang tidak valid. Anda harus memiliki setidaknya dua kontrol pada formulir untuk dapat beralih di antara kontrol tersebut dan dengan demikian menjalankan kode validasi.

Untuk menampilkan ikon kesalahan ketika nilai kontrol tidak valid

  1. Tambahkan dua kontrol — misalnya, kotak teks — ke Formulir Windows.

  2. Tambahkan komponen ErrorProvider ke formulir.

  3. Pilih kontrol pertama dan tambahkan kode ke penanganan aktivitas Validating. Agar kode ini berjalan dengan benar, prosedur harus terhubung ke peristiwa. Untuk informasi selengkapnya, lihat Cara: Membuat Penanganan Aktivitas pada Run Time untuk Formulir Windows.

    Kode berikut menguji validitas data yang telah dimasukkan pengguna; jika data tidak valid, metode SetError dipanggil. Argumen pertama dari metode SetError menentukan kontrol mana yang akan menampilkan ikon di sampingnya. Argumen kedua adalah teks kesalahan yang akan ditampilkan.

    Private Sub TextBox1_Validating(ByVal Sender As Object, _
       ByVal e As System.ComponentModel.CancelEventArgs) Handles _
       TextBox1.Validating
          If Not IsNumeric(TextBox1.Text) Then
             ErrorProvider1.SetError(TextBox1, "Not a numeric value.")
          Else
             ' Clear the error.
             ErrorProvider1.SetError(TextBox1, "")
          End If
    End Sub
    
    protected void textBox1_Validating (object sender,
       System.ComponentModel.CancelEventArgs e)
    {
       try
       {
          int x = Int32.Parse(textBox1.Text);
          errorProvider1.SetError(textBox1, "");
       }
       catch (Exception ex)
       {
          errorProvider1.SetError(textBox1, "Not an integer value.");
       }
    }
    
    private:
       System::Void textBox1_Validating(System::Object ^  sender,
          System::ComponentModel::CancelEventArgs ^  e)
       {
          try
          {
             int x = Int32::Parse(textBox1->Text);
             errorProvider1->SetError(textBox1, "");
          }
          catch (System::Exception ^ ex)
          {
             errorProvider1->SetError(textBox1, "Not an integer value.");
          }
       }
    

    (Visual C#, Visual C++) Tempatkan kode berikut di konstruktor formulir untuk mendaftarkan penanganan aktivitas.

    this.textBox1.Validating += new
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    
    this->textBox1->Validating += gcnew
       System::ComponentModel::CancelEventHandler
       (this, &Form1::textBox1_Validating);
    
  4. Jalankan proyek. Ketik data yang tidak valid (dalam contoh ini, non-numerik) ke dalam kontrol pertama, lalu tab ke yang kedua. Saat ikon kesalahan ditampilkan, arahkan ke ikon tersebut dengan penunjuk mouse untuk melihat teks kesalahan.

Lihat juga