Gå til innhold

Anbefalte innlegg

Hei hei

 

Jeg sliter litt med et login form.

 

Jeg ønsker at, hvis brukeren taster feil eller annen feil med databasekoblingen skjer, så skal ikke formen lukkes, men brukeren skal få mulighet til å logge inn på nytt.

 

Loginform kalles fra MainForm(hvis det ikke finnes en sessionsID). I MainForm sjekkes det om LoginOK før programmer kjører videre.

 

noen tips til meg?

 

code:

 

private void btnLogin_Click(object sender, EventArgs e)

{

//Make sure that both username and password has been supplied

if (!tbUsername.Text.Equals("") && !tbPassword.Text.Equals(""))

{

DataSet result;

tbMessage.Visible = false;

 

//Get possible error messages

//local - only available in LogonForm

SunFlowerBackend.ErrorMessage errMsg;

 

backend.ContextStore.clearContextValues();

backend.ContextStore.setContextValue("UserID", tbUsername.Text);

backend.ContextStore.setContextValue("Password", tbPassword.Text);

 

backend.fetch("TechWeb", "chkLogin", out result, out errMsg);

 

if (errMsg != null)

{

//something is wrong. Display message and let the user try again

tbMessage.Visible = true;

tbMessage.Text = errMsg.Message.ToString();

 

 

//dette funker ikke.

//this.Hide();

//LoginForm logonagain = new LoginForm(this.backend);

//logonagain.Show();

}

else

{

((MainForm)this.Owner).LoggedIn = true;

this.Close();

}

}

}

 

private void btnCancel_Click(object sender, EventArgs e)

{

((MainForm)this.Owner).LoggedIn = false;

this.Close();

}

 

private void LoginForm_Load(object sender, EventArgs e)

{

//nothing to do here

}

Lenke til kommentar
Videoannonse
Annonse

try{
}catch(Exception ex){

}

 

er din beste venn for å ta alle typer feil dersom det du har ikke tar alt.

 

Ellers. Prøv this.visible=false; istedet for this.hide.

 

Prøver du å logge på inni Login formen?

Ville heller latt MainForm ta den testen for deretter å åpne en ny login form. Litt rotete kode å skjule seg selv for deretter vise en ny instans av seg selv.

Endret av wolf5
Lenke til kommentar

Bruk code-taggen til kildekode, slik at den blir leselig. Og bruk DialogResult om du vil manipulere oppførselen til forms. Jeg gadd ikke lese kodesuppa eller det dårlig utformede spørsmålet, men jeg regner med at det er dette du leter etter siden det er et typisk nybegynnerspørsmål.

Lenke til kommentar

Jepp....nybegynner problemer uten tvil!

 

Men jeg har fått dette til å virke. Jeg la logikken i MainForm, og så kaller jeg loginform flere ganger. Funker nå. Men ja.....ikke enkelt å lære seg c# uten noe særlig med kurs. :-)

 

 

Bigwill

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...