Рейтинг:
1
Maciej Los
Я бы предложил начать с этого: Сравнивая строки .Продажи | документы Майкрософт[^]
Если вы хотите игнорировать case, проверьте это: Строка.Метод Равенства (Система) | Microsoft Docs[^]
Dim node2find = Me.TreeView1.Nodes.Cast(Of TreeNode)() _
.Where(Function(n) n.Text.Equals(TextBox3.Text, StringComparison.InvariantCultureIgnoreCase)) _
.ToList()
Приведенный выше код вернет список узлов, текст которых равен
TextBox3.Text
игнорируя регистр.
[РЕДАКТИРОВАТЬ]
Если вы хотите сравнить часть текста, вам нужно использовать одну из следующих строковых функций:
StartsWith
Contains
EndsWith
Пожалуйста, перейдите по первой ссылке (вверху моего ответа).
Nicomendox
Мне очень жаль, но я не мог работать с этим кодом. но здесь та же проблема
Private Sub Button13_Click(sender As Object, e As EventArgs) обрабатывает Button13.Click
Для каждого n As TreeNode в Me.TreeView1.Nodes(0).Nodes
Если n.Text = "пользователи", то
Элемента управления treeview1.SelectedNode = Н
Элемента управления treeview1.Выберите()
Элемента управления treeview1.SelectedNode.Расширять()
Конец, Если
Следующий
Конец Подводной Лодки
При Вводе "Пользователи" 'С Заглавной Буквы "U"
TreeView элемент.SelectedNode - это фокус на "C:\Users"
Но когда я набираю "пользователи" с "u"
на этот раз результат-ничто.
проблема в TreeView или в коде ?
Maciej Los
Вы уже говорили об этом:
Скрыть скопировать код
SelectredNode is "C:\Users"
If n.Text = "Users" Then
и вот мой вопрос:
Неужели "C:\Users" равно ли это "пользователям"?
См. обновленный ответ.
Nicomendox
Абсолютно "C:\Users" то же самое с "пользователями"
"C:\Users" это тег, а "пользователи" - узел под Treeview.
Моя проблема в том, что я печатаю "C:\users" instade of "C:\Users-кодовая дозировка работает. потому что не все буквы совпадают со строкой поиска.
В TreeView имя узла - "пользователи", а не "пользователи". Проблема заключается в различии "u" и "U".
Maciej Los
Ни в коем случае! Проверьте это:
Dim s1 As String = "C:\Users"
Dim s2 As String = "users"
Console.WriteLine("Does '{0}' is equal to '{1}' = {2}", s1, s2, s1=s2)
А это:
Console.WriteLine("Does '{0}' constains '{1}' = {2}", s1, s2, s1.ToLower().Contains(s2.ToLower()))
;)