14-10-13, 04:58 PM
(آخر تعديل لهذه المشاركة : 14-10-13, 07:00 PM {2} بواسطة الشاكي لله.)
[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

