Public Class TreeViewSample
#Region "Even Procedure"
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim index As Int16 = CheckRootNode(TreeView1, cboGroup.Text)
With TreeView1
If index = -1 Then
'Add Root Node.
.Nodes.Add(cboGroup.Text)
'Add First Sub Node.
If txtName.Text.Trim <> "" Then .Nodes(.Nodes.Count - 1).Nodes.Add(txtName.Text.Trim)
.ExpandAll()
Else
'Add Sub Node.
If txtName.Text.Trim <> "" Then
If CheckNode(.Nodes(index), txtName.Text) = -1 Then _
.Nodes(index).Nodes.Add(txtName.Text.Trim)
End If
.ExpandAll()
End If
End With
'Set Default
setDefault()
End Sub
Private Sub btnRmove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRmove.Click
End Sub
#End Region
#Region "sub procedure"
Function CheckRootNode(ByVal TV As TreeView, _
ByVal NodeText As String) As _
Integer
'Using For i
'For i As Integer = 0 To TV.Nodes.Count - 1
' If TV.Nodes(i).Text = NodeText Then
' Return i
' End If
'Next
'Return -1
'Using For each
Dim i As Int16 = 0
For Each N As TreeNode In TV.Nodes
If N.Text = NodeText Then
Return i
End If
i += 1
Next
Return -1
End Function
Function CheckNode(ByVal N As TreeNode, _
ByVal NodeText As String) As _
Integer
'Using For i
'For i As Integer = 0 To TV.Nodes.Count - 1
' If TV.Nodes(i).Text = NodeText Then
' Return i
' End If
'Next
'Return -1
'Using For each
Dim i As Int16 = 0
For Each sN As TreeNode In N.Nodes
If sN.Text = NodeText Then
Return i
End If
i += 1
Next
Return -1
End Function
Sub setDefault()
'set default causor
cboGroup.Focus()
For Each obj As Object In Me.Controls
If TypeOf obj Is TextBox Or _
TypeOf obj Is ComboBox Then
obj.Text = ""
ElseIf TypeOf obj Is DateTimePicker Then
obj.value = Now.Date
End If
Next
End Sub
#End Region
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
'Set default screen
setDefault()
With TreeView1
'If Node is "Root Node", the parent is nothing.
If .SelectedNode.Parent Is Nothing Then
cboGroup.Text = .SelectedNode.Text
Else 'Mean click on sub node
cboGroup.Text = .SelectedNode.Parent.Text
txtName.Text = .SelectedNode.Text
End If
End With
End Sub
End Class
No comments:
Post a Comment