|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Announcements
Want a new Job?
Chapters
Services
Feature Zones
|
IntroductionThis is my first article posting in this site. The code snippets illustrated here will be help to customize your ConceptWhile we are working with most VB.NET controls, it is very easy to provide a good and easy-to-use presentation. But if we are working on a control like Using the codeCreate a new form and add a '
'TreeView_C
'
Me.TreeView_C.ImageIndex = -1
Me.TreeView_C.Location = New System.Drawing.Point(10, 10)
Me.TreeView_C.Name = "TreeView_C"
Me.TreeView_C.Nodes.AddRange(New System.Windows.Forms.TreeNode() _
{New System.Windows.Forms.TreeNode("Root Node", _
New System.Windows.Forms.TreeNode() _
{New System.Windows.Forms.TreeNode("Fruits", _
New System.Windows.Forms.TreeNode() _
{New System.Windows.Forms.TreeNode("Apple"), _
New System.Windows.Forms.TreeNode("Orange"), _
New System.Windows.Forms.TreeNode("Pineapple"), _
New System.Windows.Forms.TreeNode("Grapes")}), _
New System.Windows.Forms.TreeNode("Animals", _
New System.Windows.Forms.TreeNode() _
{New System.Windows.Forms.TreeNode("Lion"), _
New System.Windows.Forms.TreeNode("Tiger")})})})
Me.TreeView_C.SelectedImageIndex = -1
Me.TreeView_C.Size = New System.Drawing.Size(240, 250)
Me.TreeView_C.TabIndex = 0
'
'btnApplyColors
'
Me.btnApplyColors.Location = New System.Drawing.Point(10, 265)
Me.btnApplyColors.Name = "btnApplyColors"
Me.btnApplyColors.Size = New System.Drawing.Size(80, 30)
Me.btnApplyColors.TabIndex = 1
Me.btnApplyColors.Text = "Apply Colors"
'
'btnSort
'
Me.btnSort.Location = New System.Drawing.Point(175, 265)
Me.btnSort.Name = "btnSort"
Me.btnSort.Size = New System.Drawing.Size(70, 30)
Me.btnSort.TabIndex = 2
Me.btnSort.Text = "Sort"
'
'btnBlinking
'
Me.btnBlinking.Location = New System.Drawing.Point(90, 265)
Me.btnBlinking.Name = "btnBlinking"
Me.btnBlinking.Size = New System.Drawing.Size(80, 30)
Me.btnBlinking.TabIndex = 3
Me.btnBlinking.Text = "Blinking"
The code below is used to control events: Dim sortedAsc As Boolean = False
Dim BlinkingNodes As String = ""
Dim cnode As New TreeNode
Public Enum SortOrder
Ascending
Descending
End Enum
Private Sub btnApplyColors_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnApplyColors.Click
TreeView_C.SelectedNode.ForeColor = Color.Pink
End Sub
Private Sub btnSort_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSort.Click
TreeView_C.SelectedNode.ForeColor = _
TreeView_C.DefaultForeColor
cnode = TreeView_C.SelectedNode
If sortedAsc = False Then
SortNode(SortOrder.Ascending)
sortedAsc = True
Else
SortNode(SortOrder.Descending)
sortedAsc = False
End If
End Sub
Private Sub btnBlinking_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnBlinking.Click
If BlinkingNodes.IndexOf(TreeView_C.SelectedNode.Text) < 0 Then
Dim obj As New BlinkTimer
obj.cnode = TreeView_C.SelectedNode
obj.cnode.ForeColor = TreeView_C.DefaultForeColor
obj.timer_c.Start()
BlinkingNodes = BlinkingNodes & ", _
" & TreeView_C.SelectedNode.Text
End If
End Sub
The sample function below sorts its subtree nodes on the selected base nodes: Public Function SortNode(ByVal so As SortOrder)
Dim retTreenode As New TreeNode
Dim sSortString As String()
Dim iLoop, jLoop As Integer
ReDim sSortString(cnode.GetNodeCount(False) - 1)
retTreenode= cnode.Clone
For iLoop= 0 To sSortString.Length - 1
sSortString(iLoop) = cnode.Nodes(iLoop).Text
Next
If so = SortOrder.Ascending Then
sSortString.Sort(sSortString)
Else
sSortString.Reverse(sSortString)
End If
For iLoop= cnode.GetNodeCount(False) - 1 To 0 Step -1
cnode.Nodes(iLoop).Remove()
Next
For jLoop= 0 To sSortString.Length - 1
For iLoop= 0 To retTreenode.GetNodeCount(False) - 1
If sSortString(jLoop).Trim = _
retTreenode.Nodes(iLoop).Text Then
retTreenode.Nodes(iLoop).ForeColor = _
TreeView_C.DefaultForeColor
cnode.Nodes.Add(retTreenode.Nodes(iLoop))
End If
Next
Next
End Function
The sample class below is used internally to blink a selected node: Public Class BlinkTimer
Public cnode As TreeNode
Public timer_c As New timer
Dim BlinkColor As Color = Color.DeepPink
Public Sub New()
AddHandler timer_c.Tick, AddressOf BlinkOn
End Sub
Public Sub BlinkOn(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
If cnode.ForeColor.ToString <> BlinkColor.ToString _
And cnode.ForeColor.ToString <> _
Color.Transparent.ToString Then
cnode.ForeColor = Color.Transparent
End If
If cnode.ForeColor.ToString = Color.Transparent.ToString _
Or cnode.ForeColor.ToString = _
Color.Empty.ToString Then
cnode.ForeColor = BlinkColor
ElseIf cnode.ForeColor.ToString = _
BlinkColor.ToString Then
cnode.ForeColor = Color.Transparent
End If
End Sub
End Class
Points of InterestOn working with the
|
|||||||||||||||||||||||||||||||||||||||||||||||||||