تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ممكن مساعدة بالتري فيو و لست فيو
#1
مرحباا يا اخوان

عملت برنامج ووضعت بداخلة ListView1

و TreeView1

،،

محتاج طريقة اضع فورم يقوم بإضافة عناصر داخل list و ايضا داخل tree ،، يعني مثل لوحة التحكم و ذلك لاقوم بتحكم باضافة و ازالة العناصر بعد نشر البرنامج لعديد من المستخدمين ..

و محتاج

عندما اضغط على اي خيار داخل treeview يظهر لي مجموعة من العناصر او الخيارات داخل listview

بإنتظار الرد Smile
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم،
ضع على Form1:
TreeView1
ListView1

و الآن أستبدل كود Form1 بالكود التالي:
PHP كود :
Public Class Form1

    
Private treeValues As New Dictionary(Of StringString())

    Private 
Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        FillTree
()
        
ListView1.View View.Tile
        FillTreeValues
(TreeView1.Nodes)
    
End Sub

    
Private Sub FillTree()
        For 
Each N As TreeNode In TreeView1.Nodes
            N
.Nodes.Clear()
            
N.Nodes.Add(N.Index " - 0""Node " N.Index " - 0")
            
N.Nodes.Add(N.Index " - 1""Node " N.Index " - 1")
            
N.Nodes.Add(N.Index " - 2""Node " N.Index " - 2")
            
N.Expand()
        
Next
    End Sub

    
Private Sub FillTreeValues(ByVal nodes As TreeNodeCollection)
        For 
Each N As TreeNode In nodes
            Dim 
list As New List(Of String)
            list.
Add("First value of " N.Name)
            list.
Add("Second value of " N.Name)
            list.
Add("Third value of " N.Name)
            
treeValues.Add(N.Name, list.ToArray())
            
FillTreeValues(N.Nodes)
        
Next
    End Sub

    
Private Sub TreeView1_AfterSelect(ByVal sender As System.ObjectByVal e As System.Windows.Forms.TreeViewEventArgsHandles TreeView1.AfterSelect
        ListView1
.Items.Clear()
        
Dim vals As String() = treeValues(e.Node.Name)
        For 
As Integer 0 To vals.Length 1
            ListView1
.Items.Add(vals(I))
        
Next
    End Sub
End 
Class 
الرد }}}
تم الشكر بواسطة:
#3
شكرا لك اخي Aly El-Haddad ،

ولكن هل ممكن طريقة لعمل فورم يقوم باضافة العناصر و ازالتها من داخل node
ايضا فورم لاضافة ال node و ازالتها ،،
الرد }}}
تم الشكر بواسطة:
#4
أضف إلى Form1:
TextBox1 للنص الذي يتم إضافته
Button1 للإضافة
Button2 للحذف

و الآن أستبدل الكود السابق بالتالي:
PHP كود :
Public Class Form1

    
Private treeValues As New Dictionary(Of StringString())

    Private 
Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        TreeView1
.HideSelection False
        FillTree
()
        
ListView1.View View.Tile
        ListView1
.HideSelection False
        FillTreeValues
(TreeView1.Nodes)
    
End Sub

    
Private Sub FillTree()
        
TreeView1.Nodes.Clear()
        
TreeView1.Nodes.Add("Node0""Node0")
        
TreeView1.Nodes.Add("Node1""Node1")
        
TreeView1.Nodes.Add("Node2""Node2")
        For 
Each N As TreeNode In TreeView1.Nodes
            N
.Nodes.Clear()
            
N.Nodes.Add(N.Index " - 0""Node " N.Index " - 0")
            
N.Nodes.Add(N.Index " - 1""Node " N.Index " - 1")
            
N.Nodes.Add(N.Index " - 2""Node " N.Index " - 2")
            
N.Expand()
        
Next
    End Sub

    
Private Sub FillTreeValues(ByVal nodes As TreeNodeCollection)
        For 
Each N As TreeNode In nodes
            Dim 
list As New List(Of String)
            list.
Add("First value of " N.Name)
            list.
Add("Second value of " N.Name)
            list.
Add("Third value of " N.Name)
            
treeValues.Add(N.Name, list.ToArray())
            
FillTreeValues(N.Nodes)
        
Next
    End Sub

    
Private Sub TreeView1_AfterSelect(ByVal sender As System.ObjectByVal e As System.Windows.Forms.TreeViewEventArgsHandles TreeView1.AfterSelect
        ListView1
.Items.Clear()
        
Dim vals As String() = treeValues(e.Node.Name)
        For 
As Integer 0 To vals.Length 1
            ListView1
.Items.Add(vals(I))
        
Next
    End Sub

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        
If TreeView1.SelectedNode.Index > -1 Then
            Dim items 
As New List(Of String)(treeValues.Item(TreeView1.SelectedNode.Name))
            
items.Add(TextBox1.Text)
            
treeValues.Item(TreeView1.SelectedNode.Name) = items.ToArray()
            
ListView1.Items.Add(TextBox1.Text)
        
End If
    
End Sub

    
Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        
If TreeView1.SelectedNode.Index > -1 Then
            
If ListView1.SelectedItems.Count 0 Then
                Dim items 
As New List(Of String)(treeValues.Item(TreeView1.SelectedNode.Name))
                
items.RemoveAt(ListView1.SelectedItems(0).Index)
                
treeValues.Item(TreeView1.SelectedNode.Name) = items.ToArray()
                
ListView1.Items.RemoveAt(ListView1.SelectedItems(0).Index)
            
End If
        
End If
    
End Sub
End 
Class 

بخصوص إضافة Node تستخدم هذا الكود:
PHP كود :
TreeView1.Nodes.Add("نص النود"
و لإزالة Node تستخدم هذا الكود:
PHP كود :
TreeView1.Nodes.RemoveAt(0
حيث 0 هو ترتيب الـNode في الـTreeView
أما لإزالة Node من داخل Node من داخل الـTreeView تستخدم هذا الكود:
PHP كود :
TreeView1.Nodes(0).Nodes.RemoveAt(00
حيث 0 هو ترتيب الـNode في الـTreeView و 00 هو ترتيب الـNode التي بداخل Node آخر داخل الـTreeView
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم