» »

[VB] Checkbox in Textbox težava

[VB] Checkbox in Textbox težava

r0ks0n ::

Pozdravljeni!

V Visual Basicu sem popoln začetnik. Brez predhodnjega znanja sem se spravil delati en program, ki bi mi olajšal delo, vendar se mi je zataknilo. Gre se za to, da imam na Formu postavljenih 23 Checkboxov, en Textbox in Save ter Quit button. Sedaj pa bi rad imel tako, da so po defaultu vsi checkboxi obkljukani in je v textboxu v vsaki vrstici napisana ena beseda (npr. zelje, solata, koleraba,...). Takšna imena naj bi imeli tudi Checkboxi in ko bi enega odkljukal bi izginila tudi beseda, ki je v textboxu. Ok, to, da so vsi obkljukani, znam nastavit, prav tako, da se določen text izklopi in vklopi, če je checkbox obkljukan ali ne, vendar potem zgornji vedno izgine.

Evo del moje začetniške kode (pa ne se smejat! :) ):

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then TextBox1.Text = ("Solata")

If CheckBox1.Checked = False Then TextBox1.Text = (" ")

End Sub

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
If CheckBox2.Checked = True Then TextBox1.Text = vbNewLine & "Koleraba"

If CheckBox2.Checked = False Then TextBox1.Text = vbNewLine & & " "
End Sub
End Class

Upam, da me razumete kaj pravzaprav hočem. Morda sem malo čudno vse skupaj napisal - kakopak, če pa že nekih 8 ur sedim tukaj in brskam po vseh možnih forumih in strica Googla ožemam do konca :)

Pa lep pozdrav vsem!

majlo ::

Malo nerazumljivo napisano.

Predpostavljam
imaš 3 checkboxe.

zelje
solata
koleraba

Vsi so oblkjukani in rad bi imel v textoxu takrat napisano

zelje
solata
koleraba

ko odkjukaš zelje, želiš, da ostane v textboxu samo

solata
koleraba

??

Razmišljam prav?

Če je tako, potem narediš en sub, ki se sprehodi po kontrolah.
Če je tip kontrole checkbox preveriš, če je ta obkljukan, in če je, dodaš v texbox ime te kontrole in vbnewline (seveda bi moral textboxe imenovat potem zelje, solata).

Potem na spremembo chekcstate kličeš ta sub.

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged, CheckBox3.CheckedChanged, CheckBox4.CheckedChanged, CheckBox5.CheckedChanged
txt()
End Sub

Private Sub txt()
Try
TextBox1.Clear()

For Each ctl As Control In Me.Controls
If (TypeOf ctl Is CheckBox) Then
Dim c As CheckBox = DirectCast(ctl, CheckBox)
If c.Checked Then
TextBox1.Text = TextBox1.Text & c.Name & vbCrLf

End If

End If
Next ctl

Catch ex As Exception

End Try
End Sub

r0ks0n ::

@majlo: Najlepša hvala za odgovor! Res sem malo nerazumljivo napisal, a kot sem dejal sem popoln začetnik v VB zato mi je bilo toliko težje obrazložiti zadevo :) Prav si sklepal kaj želim, da. Najlepša hvala za tole kodo, bom se malo poigral in seveda ustrezno nadgradil oz. pridobil znanje VB-ja, če se pa karkoli zatakne se pa tukaj javim :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# Top tutoriali

Oddelek: Programiranje
252545 (1808) darkkk
»

[c#] ukaz radirka

Oddelek: Programiranje
91107 (900) japol
»

Odpiranje programa v Visual Studio

Oddelek: Programiranje
8903 (761) darkolord
»

[c#] picturebox, slika na sliko

Oddelek: Programiranje
151081 (891) japol
»

visual basic 2008 express edition

Oddelek: Programiranje
221804 (1231) sel

Več podobnih tem