gerz0ckerz
Goto Top

Checkbox Text in eine Textbox

Hallo,


ich möchte, dass wenn ich eine Checkbox anklicke der Text der Checkbox in einer Textbox erscheint, und wenn ich das Häkchen wieder wegmache soll der Text wieder verschwinden.
ich habe es so gemacht:

Private sub Text()
For a = 1 To 68
Dim ch As CheckBox = Me.Controls("ch" & a)
If ch.Checked Then
txtTextbox.Text &= vbNewLine & ch.Text
End If
Next
End Sub

Das Funktioniert aber leider nicht. Hat jemand eine Ahnung wieso? Und kann mir jemand sagen wie man es richtig macht?

Content-ID: 284735

Url: https://administrator.de/contentid/284735

Ausgedruckt am: 08.11.2024 um 17:11 Uhr

SachsenHessi
Lösung SachsenHessi 06.10.2015 aktualisiert um 13:01:49 Uhr
Goto Top
Hallo,

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
TextBox1.Text = CheckBox1.Text
Else
TextBox1.Text = ""
End If
End Sub

Gruß Frank
GERz0cKErZ
GERz0cKErZ 06.10.2015 um 13:01:45 Uhr
Goto Top
Zitat von @SachsenHessi:

Hallo,

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
TextBox1.Text = CheckBox1.Text
Else
TextBox1.Text = ""
End If
End Sub

Gruß Frank

Hat funktioniert! Danke.

Aber noch eine Frage, wenn ich jetzt das Häkchen von der Checkbox wegnehme, wird der ganze Text gelöscht aus der Textbox, ich möchte aber nur, dass der Text der Checkbox gelöscht wird.
z.B. der Text der Checkbox ist "Eins" und in der Textbox steht "Hallo" dann soll nur das Wort Eins gelöscht werden, Hallo soll stehen bleiben. Geht das auch?
122990
Lösung 122990 06.10.2015 aktualisiert um 14:54:47 Uhr
Goto Top
Public Class Form1
    Dim list As New SortedList

    Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
        UpdateTextbox(sender)
    End Sub

    Private Sub CheckBox2_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox2.CheckedChanged
        UpdateTextbox(sender)
    End Sub

    Private Sub CheckBox3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox3.CheckedChanged
        UpdateTextbox(sender)
    End Sub

    Private Sub CheckBox4_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox4.CheckedChanged
        UpdateTextbox(sender)
    End Sub

    Sub UpdateTextbox(sender As Object)
        If sender.checked Then
            list.Add(sender.name, sender.Text)
        Else
            list.Remove(sender.name)
        End If
        TextBox1.Text = String.Join(vbNewLine, list.Values.Cast(Of String).ToArray())
    End Sub
End Class
Gruß grexit
GERz0cKErZ
GERz0cKErZ 06.10.2015 um 14:55:14 Uhr
Goto Top
Zitat von @122990:

> Public Class Form1
>     Dim list As New SortedList
> 
>     Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
>         UpdateTextbox(sender)
>     End Sub
> 
>     Private Sub CheckBox2_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox2.CheckedChanged
>         UpdateTextbox(sender)
>     End Sub
> 
>     Private Sub CheckBox3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox3.CheckedChanged
>         UpdateTextbox(sender)
>     End Sub
> 
>     Private Sub CheckBox4_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox4.CheckedChanged
>         UpdateTextbox(sender)
>     End Sub
> 
>     Sub UpdateTextbox(sender As Object)
>         If sender.checked Then
>             list.Add(sender.name, sender.Text)
>         Else
>             list.Remove(sender.name)
>         End If
>         TextBox1.Text = String.Join(vbNewLine, list.Values.Cast(Of String).ToArray())
>     End Sub
> End Class
> 
Gruß grexit

Vielen dank! Endlich funktioniert alles wie gewollt! Danke danke danke.