Es wäre gut, wenn du ein bißchen mehr Code posten würdest. Meine Vermutung zu deinem Problem ist, dass du zwei unabhängige Instanzen der Klasse cLogin verwendest. Damit das, was du erreichen willst, funktioniert, muss die Variable dbLogin in fMain instantiiert und dann an die Login-Form als Parameter übergeben werden.
Hier ein wenig Beispielcode:
public class FrmMain { ...
private void DoLogon() { var dbLogin = new cLogin(); var logon = new FrmLogon(dbLogin); if(logon.ShowDialog() == DialogReslt.OK) { tslblName.Text = "angemeldet: " + dbLogin._UserName; } } }
public class FrmLogon { private cLogon dbLogon;
public FrmLogon(cLogon logon) { dbLogon = logon; }
Ich vermute, dass die Klasse cLogin unter dbLogin mehrfach instanziiert wurde - leider nicht nachprüfbar, da der Code fehlt. Dann kommt es zu diesem Verhalten. Ich würde die Klasse evt. als Singleton mit privaten Konstruktor und einer Methode getInstance() ausstatten, die über die gesamte Applikation die einzige Instanz dieser Klasse zurückgibt. Damit sollte dann auch das Problem des Loginnamens gelöst sein.
du hast den Finger drauf. Es liegt wirklich an der Instanzierung der Klasse.
Vielen Dank für den Tipp
MfG René