الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Number of Node in Treeview

بدأه huda Khlefat2 في 13 مارس 2011 · 2 رد · 492 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أريد المساعدة في برمجة

button بوجود أداة ال treeview داخل الفورم فعند الضغط على هذا الزر يقوم بإيجاد :

- اسم النود التي تملك أكبر عدد من ال child ، وفي أي مستوى من الشجره ، وما هو هذا العدد ، و ايجاد طول الشجره ( عدد المستويات )

فمثلا في الصوره المرفقه النود التي تملك أكبر عدد من ال child هي النود 9

وعدد ال child = 3

وطول الشجره = 3

وتقع في المستوى الثالث من الشجره

( مع العلم أن ال tree تكون مبنيه ومدرجه في الفورم )

أرجو ممن لديه علم في هذا الموضوع مساعدتي ، وله جزيل الشكر

post-241213-046107500 1300033120_thumb.j

المرفقات
TreePic.JPG

تم تعديل هذه المشاركة بواسطة huda Khlefat2 في 13 مارس 2011 في 19:23

#2

وعليكم السلام ورحمة الله وبركاته

جرب هذا الكود

Public Structure NodeData
        Public Node As TreeNode
        Public Level As Integer
    End Structure

    Dim level As Integer, childrenCount As Integer, node As TreeNode

    Private Function FindNode(ByVal parent As TreeNode, ByVal level As Integer) As NodeData
        If parent.Nodes.Count > childrenCount Then
            childrenCount = parent.Nodes.Count
            Me.level = level
            Me.node = parent
        End If
        For Each node As TreeNode In parent.Nodes
            FindNode(node, level + 1)
        Next

        Dim data As NodeData
        data.Node = Me.node
        data.Level = Me.level
        Return data
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim data As New NodeData
        For Each node As TreeNode In Me.TreeView1.Nodes
            data = FindNode(node, 1)
        Next

        If data.Node IsNot Nothing Then
            MsgBox(String.Format("Node Text: {0}, Children Count: {1}, Level: {2}", data.Node.Text, data.Node.Nodes.Count, data.Level))
        End If
    End Sub
1

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3
GHOST2010 كتب:

وعليكم السلام ورحمة الله وبركاته

جرب هذا الكود

Public Structure NodeData
        Public Node As TreeNode
        Public Level As Integer
    End Structure

    Dim level As Integer, childrenCount As Integer, node As TreeNode

    Private Function FindNode(ByVal parent As TreeNode, ByVal level As Integer) As NodeData
        If parent.Nodes.Count > childrenCount Then
            childrenCount = parent.Nodes.Count
            Me.level = level
            Me.node = parent
        End If
        For Each node As TreeNode In parent.Nodes
            FindNode(node, level + 1)
        Next

        Dim data As NodeData
        data.Node = Me.node
        data.Level = Me.level
        Return data
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim data As New NodeData
        For Each node As TreeNode In Me.TreeView1.Nodes
            data = FindNode(node, 1)
        Next

        If data.Node IsNot Nothing Then
            MsgBox(String.Format("Node Text: {0}, Children Count: {1}, Level: {2}", data.Node.Text, data.Node.Nodes.Count, data.Level))
        End If
    End Sub

رااااائع راااائع ... أشكرك شكراً عظيماً ،، بارك الله فيك وزاد من أمثالك

جعله الله في ميزان حسناتك

...

لكني كنت أود لو كان هناك خيار بإظهار رقم يُمثل عدد المستويات في الشجره

مشكورٌ لتعاونك

مواضيع مشابهة