Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda en Windows Forms ErrorProvider-komponent för att visa en felikon när användaren anger ogiltiga data. Du måste ha minst två kontroller i formuläret för att kunna växla mellan dem och därmed aktivera verifieringskoden.
Så här visar du en felikon när en kontrolls värde är ogiltigt
Lägg till två kontroller, till exempel textrutor, i ett Windows-formulär.
Lägg till en ErrorProvider komponent i formuläret.
Välj den första kontrollen och lägg till kod i dess Validating händelsehanterare. För att koden ska kunna köras korrekt måste proceduren vara ansluten till händelsen. Mer information finns i Hur man skapar händelsehanterare vid körtid för Windows Forms.
Följande kod testar giltigheten för de data som användaren har angett. Om data är ogiltiga anropas metoden SetError. Det första argumentet i metoden SetError anger vilken kontroll som ska visas bredvid ikonen. Det andra argumentet är den feltext som ska visas.
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 Subprotected 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++) Placera följande kod i formulärets konstruktor för att registrera händelsehanteraren.
this.textBox1.Validating += new System.ComponentModel.CancelEventHandler(this.textBox1_Validating);this->textBox1->Validating += gcnew System::ComponentModel::CancelEventHandler (this, &Form1::textBox1_Validating);Kör projektet. Skriv ogiltiga (i det här exemplet icke-numeriska) data i det första fältet och tryck sedan på tabbtangenten för att gå till det andra. När felikonen visas pekar du på den med muspekaren för att se feltexten.
Se även
.NET Desktop feedback