Quote:
Originally Posted by P-a-i-n
wär stellt das im desinger um ?
keine sau sowas macht man immer in form load um den überblick zu haben
|
was für ein Schwachsinn, es ist eher so das niemand etwas in Events auslagert wenn es nicht nötig ist und es macht den Code eher unübersichtlicher
außerdem wenn du es mit der übersicht hast dann hau es lieber in den Konstruktor als in das Load Event weil wenn du das Objekt erzeugst aber noch nicht anzeigst sind die Eigenschaften nicht so gesetzt wie du das haben willst oder wolltest.
Es hat also überhauptkein sinn irgentetwas in das Load Event zutun wenn es da nicht gebraucht wird
Quote:
Originally Posted by P-a-i-n
einfach eine mehrfach verzweigung machen und wenn die abfrage okay ist in die nächste abfrage reinschicken
schau dir genau den aufruf der Sub am END hab ich alle textboxen reingepackt das er auch wirklich alle scheckt und nicht nur die textbox1 (fehlervermeidung halt)
so kannste es aber nur nutzen wenn du wirklich alle 3 vergleichen willst und dann den button erst erscheinen lassen willst
die if abfrage ist nur eigentlich einfach zu erklären
heißt nichts anderen wie
Code:
Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
If TextBox1.Text = "" Then
Button1.Visible = False
Else
If TextBox2.Text = "" Then
Button1.Visible = False
Else
If TextBox3.Text = "" Then
Button1.Visible = False
Else
Button1.Visible = True
End If
End If
End If
End Sub
wenn du es nicht versteht so vom source her kannste da nachlesen verzweigungen sind recht einfach
nochmal um es dir genau zu zeigen
der normale aufrufe
Code:
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
und dann der für alle 3 elemente
die änderung mach ich mal ROT
ist eine abfrage für alle elemente eben nicht nur wo eins kontrolliert wird
Code:
Private Sub [COLOR="Red"]TextBox[/COLOR]_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged[COLOR="Red"], TextBox2.TextChanged, TextBox3.TextChanged[/COLOR]
|
Vorhin in dem Post davor so hochtrabend geredet und dann wieder so ein Quatsch geschrieben
Code:
Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
Button1.Visible = !(TextBox1.Text = "" And TextBox2.Text = "" And TextBox3.Text = "")
End Sub
das wars -.-
weil warum vergleichst du einen boolean und weisst dann ein zu?? (das ergibt garkeinen sinn)
Außerdem braucht man hier keine Mehrfachverzweigung.
Und das was ich eigentlich meine wenn man was erklärt muss man den Leuten es nicht noch falsch erklären.
Man muss eine Event nicht speziell umbennen damit alle Textbox sich da anmelden. Das Event kann auch sadjhKHskadnDMBSAMDhksad heißen und es würde funktionieren wichtig ist einfach nur das die Funktion bei allen 3 Objekten an dem TextChanged Event angemeldet wird.
So wie es aus sieht solltest du vllt auch nochmal das Buch welzen.
Sorry ich meine das nicht Böse aber es war halt einfach falsch.
@TE das Problem bei deiner Abfrage war
du musst booleans vergleichen keine string oder so wie du das geschrieben hast kannst du nicht mehere strings vergleichen
Code:
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
If TextBox1.Text [COLOR="Red"]= String.Empty And [/COLOR]TextBox2.Text [COLOR="Red"]= String.Empty And [/COLOR] TextBox3.Text = String.Empty Then
Button1.Visible = False
Else
Button1.Visible = True
End If
End Sub