14-10-13, 02:32 PM
الصفحات : 1 2
14-10-13, 02:41 PM
(14-10-13, 02:32 PM)ali.alfoly كتب : [ -> ]السلام عليكم
اريد البحث فى القائمة الشجرية
وعمل زر نكست يضغط عليه يفتح نتيجة البحث التالية حتى يصل الى النهاية تظهر سالة
تبحث عن ماذا
عندك شيئ يسمونه Root
وتحته Child
ايهم تريد البحث عنه
14-10-13, 02:43 PM
الفرعية Child
14-10-13, 03:27 PM
(14-10-13, 02:43 PM)ali.alfoly كتب : [ -> ]الفرعية Child
مارأيك بهذه الدالة
PHP كود :
Public Function FindSpecificChild(ByRef treeView As TreeView, ByVal childText As String) As Boolean
For Each rootNode As TreeNode In treeView.Nodes 'الدوران على الروت'
For Each childnodes As TreeNode In rootNode.Nodes 'الدوران على الاطفال ههه'
If childnodes.Text = childText Then
Return True
End If
Next
Next
Return False
End Function
اذا وجدت عنصر من نوع Child مطابق للإسم الي اخترته في البارمتار الثاني ، سترجع True
14-10-13, 03:42 PM
تمام والله ممتاز
جزاك الله خير
طيب هى مش الى انا عاوزه
انا اريد
هل جربت البحث فى الرجستيرى عن طريق ( سيرش اندكس )
اى انها تبحث ثم تعمل فتح لاول عنصر تجده ثم اذا ضغط بحث مرة اخرى يفتح العنصى الذى يليه من نتائج البحث وهكذا حتى يصل الى اخر نتائج البحث
جزاك الله خير
طيب هى مش الى انا عاوزه
انا اريد
هل جربت البحث فى الرجستيرى عن طريق ( سيرش اندكس )
اى انها تبحث ثم تعمل فتح لاول عنصر تجده ثم اذا ضغط بحث مرة اخرى يفتح العنصى الذى يليه من نتائج البحث وهكذا حتى يصل الى اخر نتائج البحث
14-10-13, 03:55 PM
(14-10-13, 03:42 PM)ali.alfoly كتب : [ -> ]تمام والله ممتاز
جزاك الله خير
طيب هى مش الى انا عاوزه
انا اريد
هل جربت البحث فى الرجستيرى عن طريق ( سيرش اندكس )
اى انها تبحث ثم تعمل فتح لاول عنصر تجده ثم اذا ضغط بحث مرة اخرى يفتح العنصى الذى يليه من نتائج البحث وهكذا حتى يصل الى اخر نتائج البحث
لا..
هذي صعبة نوعا ما
(14-10-13, 03:55 PM)الشاكي لله كتب : [ -> ](14-10-13, 03:42 PM)ali.alfoly كتب : [ -> ]تمام والله ممتاز
جزاك الله خير
طيب هى مش الى انا عاوزه
انا اريد
هل جربت البحث فى الرجستيرى عن طريق ( سيرش اندكس )
اى انها تبحث ثم تعمل فتح لاول عنصر تجده ثم اذا ضغط بحث مرة اخرى يفتح العنصى الذى يليه من نتائج البحث وهكذا حتى يصل الى اخر نتائج البحث
لا..
هذي صعبة نوعا ما
قصدك تبي تطبقها على الريجستري
ام على الtree view على الفورم خاصتك
إذا على الفورم سهلة
14-10-13, 04:16 PM
انا اضرب لك مثال للرجستيرى فقط
انا اريدها للفورم للاداة TreeView
انا اريدها للفورم للاداة TreeView
14-10-13, 04:58 PM
[b]قمت بعمل ذلك
لكن استخدمت مبدأ من مبادئ LINQ
حتى اني لااعرف إن كانت الفيجوال بيسك يمكنها ذلك
اخي جرب تكتب yield في محرر الكود
اذا تلون ازرق خبرني
المثال بالسي شارب في المرفقات
شغله وشوف هو المطلوب لو لا !![/b]
لكن استخدمت مبدأ من مبادئ LINQ
حتى اني لااعرف إن كانت الفيجوال بيسك يمكنها ذلك
اخي جرب تكتب yield في محرر الكود
اذا تلون ازرق خبرني
المثال بالسي شارب في المرفقات
شغله وشوف هو المطلوب لو لا !![/b]
يقولون ان الفيجوال بيسك 2012
يمكنه استعمال Yield
لكن انا عندي فيجوال 2010 فلم اتمكن من صنع المثال بالفيجوال بيسك
لذلك قمت بتحويل الكود لك :-
يمكنه استعمال Yield
لكن انا عندي فيجوال 2010 فلم اتمكن من صنع المثال بالفيجوال بيسك
لذلك قمت بتحويل الكود لك :-
PHP كود :
Private enumerator As IEnumerator(Of TreeNode)
Private Sub findTextBox1_TextChanged(sender As Object, e As EventArgs) Handles findTextBox1.TextChanged
enumerator = FindSpecificChild(treeView1, findTextBox1.Text).GetEnumerator()
End Sub
Private Sub findbutton1_Click(sender As Object, e As EventArgs) Handles findbutton1.Click
Try
If enumerator.MoveNext() = False Then
'اذا عثر على جميع العناصر عد الى البداية'
enumerator = FindSpecificChild(treeView1,findTextBox1.Text).GetEnumerator()
enumerator.MoveNext()
End If
Dim node As TreeNode = enumerator.Current
node.Parent.Expand()
treeView1.SelectedNode = node
treeView1.Focus()
Catch
End Try
End Sub
Private Function FindSpecificChild(treeView As TreeView, childText As String) As IEnumerable(Of TreeNode)
For Each rootNode As TreeNode In treeView.Nodes
For Each childnodes As TreeNode In rootNode.Nodes
If childnodes.Text = childText Then
Yield Return childnodes
End If
Next
Next
End Function
17-10-13, 04:48 PM
السلام عليكم
أسف على التأخير كنت مشغول جدا الأيام الماضية
بالفعل الفيجوال بيسك لا يدعم yield
وانا حاولت عن طريق عمل ليست
Dim lst As List(Of TreeNode)
منفعش انى اضيف مش عارف ايه السبب
أسف على التأخير كنت مشغول جدا الأيام الماضية
بالفعل الفيجوال بيسك لا يدعم yield
وانا حاولت عن طريق عمل ليست
Dim lst As List(Of TreeNode)
منفعش انى اضيف مش عارف ايه السبب
PHP كود :
For Each rootNode As TreeNode In treeView1.Nodes
For Each childnodes As TreeNode In rootNode.Nodes
If childnodes.Text = Me.findTextBox1.Text Then
lst.Add(childnodes.)
End If
Next
Next
17-10-13, 08:04 PM
(17-10-13, 04:48 PM)ali.alfoly كتب : [ -> ]السلام عليكم
أسف على التأخير كنت مشغول جدا الأيام الماضية
بالفعل الفيجوال بيسك لا يدعم yield
وانا حاولت عن طريق عمل ليست
Dim lst As List(Of TreeNode)
منفعش انى اضيف مش عارف ايه السبب
PHP كود :For Each rootNode As TreeNode In treeView1.Nodes
For Each childnodes As TreeNode In rootNode.Nodes
If childnodes.Text = Me.findTextBox1.Text Then
lst.Add(childnodes.)
End If
Next
Next
كيف مينفعش !!
انا عندي ينفع ويعمل زي الفل ياعسل

PHP كود :
Public Class Form1
Dim nodeList As New List(Of TreeNode)
Dim enumerator As IEnumerator
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
Try
If enumerator.MoveNext() = False Then
'اذا عثر على جميع العناصر عد الى البداية'
enumerator = nodeList.GetEnumerator()
enumerator.MoveNext()
End If
Dim node As TreeNode = enumerator.Current
node.Parent.Expand()
treeView1.SelectedNode = node
treeView1.Focus()
Catch
End Try
End Sub
Private Sub textBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles textBox1.TextChanged
FindSpecificChild(treeView1, textBox1.Text, nodeList)
enumerator = nodeList.GetEnumerator()
End Sub
Private Sub FindSpecificChild(ByRef treeView As TreeView, ByVal childText As String, ByRef outList As List(Of TreeNode))
For Each rootNode As TreeNode In treeView.Nodes
For Each childnodes As TreeNode In rootNode.Nodes
If childnodes.Text = childText Then
outList.Add(childnodes)
End If
Next
Next
End Sub
End Class
^ لاحظ الكود هو نفسه مع اضافة بعض المقبلات
وتم استخدام List بدل Yeild
(المثال في المرفقات)
الصفحات : 1 2