VisualBasic VB2010: Von CheckBoxen und TextBoxen

Hyourinmaru

Lt. Commander
Registriert
Feb. 2010
Beiträge
1.150
Hallo,

ich hatte mal wieder lust was zu programmieren, bei dem eine TextBox sich nur aktiviert, wenn die vorher zugewiesene CheckBox aktiviert wurde.

Jah, das hab ich soweit so gut auch geschafft.

Nun liegt mein Problem, hier, dass, wenn ich die CheckBox aktiviere und damit was in die TextBox schreiben will, sich die TextBox bei der Eigabe oder Löschung von einem Zeichen danach wieder deaktiviert, die CheckBox aber noch aktiv ist. Dann hab ich es in einer komplett leeren Form bzw. leerem Projekt versucht = Ergebnis ist dasselbe.

Was mache ich falsch?

Code:
Public Class Form1

    Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
        TextBox1.Enabled = False
    End Sub

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        TextBox1.Enabled = CheckBox1.Checked
    End Sub
End Class

Coolman2010
 
Ohne jemals ein Stück Code in Visual Basic gesehen zu haben, ist das von dir beschriebene Verhalten
eindeutig nach zu vollziehen. In deiner ersten Methode wird die Textbox sobald der text geändert wird
auf uneditierbar geswitched und das passiert natürlich bereits nach einem Buchstaben, da dort schon
das Signal für "text wurde geändert" gesendet wird. In deiner 2. Methode wird durch die Checkbox
eben die Textbox auf editierbar gesetzt mehr aber auch nicht. Du hast keinerlei Verbindung, dass wenn
die Checkbox raus genommen wird dein feld wieder un/editierbar wird und die Textbox reagiert wie gesagt
schon nach einem Buchstaben.
 
Problem gelöst.

Neuer Code:
Code:
Public Class Form1
    Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked Then
            TextBox1.Enabled = True
        Else : TextBox1.Enabled = False
        End If
    End Sub
End Class

Funktioniert auf Anhieb, wenn ich für die TextBox in den Eigenschaften zusätzlich Enabled = False stelle.


Coolman2010


/close
 
Zuletzt bearbeitet:
Zurück
Oben