Unterschiedliche Forms

bolshi

Mitglied
Hallo,

auf der Start-Forms-Oberfläche existiert ein Startknopf. Bei onClick wird eine XML-Datei ausgelesen. Ist das <ntauthentification>-Tag auf true, wird der Benutzer nach ca. 5s autom. mit der DB verbunden. Andernfalls wird der login-Versuch mit einer Fehlermeldung abgewiesen und es erscheinen zwei Eingabefelder plus drop-down-Feld, in dem die entsprechende DB ausgewählt werden kann.

Wie wechsle ich zwischen den Forms? Gibt es einen besseren Weg?

Gruß
Ingo
 
Bislang brauchte ich die Form nicht zu wechseln, da in den unterschiedlichen Zuständen das Layout gleich blieb. Daher auch die Frage, ob meine Überlegung geeignet ist.
 
Einfach ein Dialog anzeigen lassen wo halt die DB oder was auch immer ausgewählt werden kann und wenn vom Formular dann DialogResult.OK zurück kommt mit DB verbinden in deinem Hauptform.

So wirklich hab ich das problem aber nicht verstanden :confused:
 
Einfach ein Dialog anzeigen lassen wo halt die DB oder was auch immer ausgewählt werden kann und wenn vom Formular dann DialogResult.OK zurück kommt mit DB verbinden in deinem Hauptform.

So wirklich hab ich das problem aber nicht verstanden :confused:

Da ist was falsch angekommen. Start-Forms hat einzig und allein einen Button. Schlägt die automatische Anmeldung fehl, muss sich die Start-Forms um ein Drop-Down-Feld und zwei Textboxen erweitern. Ich könnte ja bei den drei Controls, die erst später gebraucht werden, anfangs auch mit der Eigenschaft visible = false arbeiten.
 
Ich hab's jetzt über die Eigenschaft "visible=false" gelöst. Dennoch verschwindet das jeweilige Control zur Laufzeit erst, wenn ich reinklicke.
Wie kann ich das ändern?
 
Ist mir gerade unklar warum die nicht sofort verschwinden.
Du hast aber schon explizit im Designer visible=false gesetzt?

Und vielleicht wäre es besser das ganze über ein UserControl zu steuern.
 
Ich habe jetzt folgendes versucht:

Code:
    Private Sub fldTextBox_2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles fldTextBox_2.TextChanged
        fldTextBox_1.Visible = False
        Application.DoEvents()
    End Sub

Die Felder sind uneingeschränkt sichtbar. Ich wollte dann im else-Zweig "visible auf true" setzen. Wo liegt mein Fehler?
 
du haust deine Texboxen auf ein UserControl.
Und dieses userCOntrol zeigst du auf deiner Form an.
Über Events, Methoden und Eigenschaft kannst du dann das verhalten/Usereingaben des UserControls steuern.

Und Visible auf false würde ich im Konstruktor oder Load Ereignis der Form setzen.
Noch besser im Designer.

Warum Application.DoEvents()?
Sollte eh so wenig wie möglich verwendet werden und wenn ja nur bei größeren Verarbeitungen bei dem der User noch Interaktionen machen können soll.

Die Textboxen auf Visible true setzen würde ich nur wenn Explizit die Verbindung zur DB fehlschlägt. Ansonsten brauchst du das ja auch nicht.
 
Zurück