Zdravím, otevírám ještě toto téma k mému pokusu upravit si treeView. Původní můj dotaz byl zde: http://www.vbnet.cz/forum-tema--2397-tre... ale ptal jsem se na trošku něco jiného a bylo mi odpovězeno, tak proto otevírám tento topic. Jde mi hlavně o to aby mi někdo zkušenější řekl zda na to nejdu uplně špatně, popřípadě mě navedl správným směrem. Konečně jsem se dobral k tomu abych si přečetl články o objektech. Na základě těchto článku se pokouším upravit komponentu treeView (chybí mi tam možnost zakázání konkrétního node). Pro začátek jsem si udělal vlastní node:
Public Class myTreeNode
Inherits System.Windows.Forms.TreeNode
Private _enabledNode As Boolean = True
Public Property EnabledNode() As Boolean
Get
Return _enabledNode
End Get
Set(ByVal value As Boolean)
ExecuteEnabled(_enabledNode)
_enabledNode = value
End Set
End Property
Sub ExecuteEnabled(ByVal enabled As Boolean)
If enabled = True Then
Me.NodeFont = New Font("Microsoft Sans Serif", 8)
Me.BackColor = Color.Black
Else
Me.NodeFont = New Font("Microsoft Sans Serif", 8, FontStyle.Italic)
Me.BackColor = Color.Gray
End If
End Sub
End Class
Vytvoření treeView a node do treeView a vložení na formulář udělám například takto:
Dim treeview1 As TreeView = New TreeView
treeview1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right Or AnchorStyles.Top
Dim nd As myTreeNode = treeview1.Nodes.Add("Parent")
Dim nd2 As myTreeNode = treeview1.Nodes(0).Nodes.Add("Child")
Me.Controls.Add(treeview1)
No a já bych teď potřeboval abych nd mohl nadeklarovat jako myTreeNode. Když se o to pokusím tak mi to ošklivě vynadá. Typuju že si budu muset vytvořit svůj treeView:
Public Class myTreeView
Inherits System.Windows.Forms.TreeView
End Class
A typuju že zde budu muset přepsat metodu která do treeView vkládá node. Zde jsem se ale zarazil protože jednak nemůžu přijít co to je za metodu a jednak nemůžu přijít na to co do ní dát. Doufám že jsem všechno nepochopil uplně špatně, kdyžtak mě trochu usměrněte:)
|