Zdravim.
Naprogramoval som taku malu ukazku, ako to asi cele vyzera. V priklade pracujem s objektami Timer, TreeView, ProgressBar, Button, Label.
Ako funguje tento program ?
- Su tam 2 tlacitka. Prve tlacitko expanduje prvky v TreeView bez progressbaru. Druhe tlacitko nam expanduje NODy v TreeView s pomocou progressbaru a informativneho LABELu, ktoreho si mozes vsimnut nad progressbarom.
- TreeView s progressbarom: Zaklad celeho je Timer, ktory ma nastaveny interval na 1sekundu (1000ms), kvoli opozdeniu expandovania urcitych NODov a efektivite programu. V Ticku timera sa odohoravaju vsetky prikazy, treba si to par krat pozriet a da sa to pochopit.
*Priklad je kodeny vo visual studiu 2008
Kód:
http://www.sendspace.com/file/pkt2v4
Potrebne prvky:
Kód:
TreeView1
Timer1
Button1
Button2
Label1
Label2
PB1 (ProgressBar)
Kód:
Public Class TreeView
Dim stav As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim pocet_nodov As Long
Dim i As Integer
pocet_nodov = TreeView1.Nodes.Count
For i = 0 To pocet_nodov - 1
With TreeView1
Dim a As Integer
For a = 0 To 20
.Nodes(i).Nodes.Add(a)
Next
End With
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Enabled = True
Label1.Visible = True
PB1.Minimum = 0
PB1.Maximum = 100
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If stav > TreeView1.Nodes.Count - 1 Then Timer1.Enabled = False : Exit Sub
If stav = 0 Then
Label2.Text = TreeView1.Nodes(0).Text
With TreeView1
Dim a As Integer
For a = 0 To 20
.Nodes(0).Nodes.Add(a)
Next
End With
stav = stav + 1
Else
Label2.Text = TreeView1.Nodes(stav).Text
With TreeView1
Dim a As Integer
For a = 0 To 20
.Nodes(stav).Nodes.Add(a)
Next
End With
stav = stav + 1
End If
Dim pocet As Integer = TreeView1.Nodes.Count
Dim aktualny_stav As Integer
aktualny_stav = stav * 20
PB1.Value = aktualny_stav
End Sub
End Class
Snad je to to, co si potreboval.
S pozdravom, Pato.
