17-10-13, 08:04 PM
(آخر تعديل لهذه المشاركة : 18-10-13, 08:40 PM {2} بواسطة الشاكي لله.)
(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
(المثال في المرفقات)

