Avatar billede thomaslp Nybegynder
17. juli 2003 - 14:41 Der er 3 kommentarer

Winform validering

Hej,
Jeg er ved at udvikle en applikation (WinForm) i .Net med C# som programmeringssprog. I asp.net er det nemt at validere input felter, men jeg kan ikke se at man har samme mulighed når man arbejder med WinForms. Er det korrekt observeret? Er man stadig nød til at bruge den "gamle try-catch" metode?
Avatar billede r9 Nybegynder
17. juli 2003 - 14:55 #1
Der er faktisk lavet en komponent som klarer noget af det.

Brug "ErrorProvider", ligger i ToolBox'en.
Brug én ErrorProvider pr. felt som du ønsker a validerer.

Hvis du f.eks. har en TekstBox, som kun må indeholde dato'er, så gør du sådan:

System.Windows.Forms.ErrorProvider errorProviderDato;
errorProviderDato.SetIconAlignment (this.txtDato, ErrorIconAlignment.MiddleRight);
            errorProviderDato.SetIconPadding (this.txtDato, 2);
            errorProviderDato.BlinkRate = 1000;
            errorProviderDato.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;



I din opretKnap eventHandler skriver du så:

    private void btnGem_Click(object sender, System.EventArgs e)
        {
            try
            {
                if (txtDato.Text.Trim().Length<1)
                {
                    errorProviderDato.SetError(this.txtDato, "Indtast venligst en korrekt dato!");
                    noError = false;
                    txtDato.Focus();
                }
                else
                {
                    errorProviderDato.SetError(this.txtDato, "");
                    noError = true;
                }
}

Hvis ikke brugeren ikke indtaster noget i txtDato, så kommer der et lille rødt ikon udfor feltet. Og der kommer et tooltip på ikonet.


Men selve validering af om datoen er korrekt, den må du selv håndterer.
Avatar billede r9 Nybegynder
17. juli 2003 - 14:56 #2
ups:

"Hvis ikke brugeren indtaster noget i txtDato..."
Avatar billede thomaslp Nybegynder
17. juli 2003 - 15:29 #3
ser ud til at det vil virke.....men hvordan hulen fjerner jeg ikonet igen. Er der virkelig ingen metode til dette? Altså når en bruger har tastet forkert kommer ikonet frem.....men det forsvinder ikke igen...hvorfor ikke?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester