У меня есть элемент управления System.Windows.Forms.TreeView
, для которого я хотел бы отключить знак плюса/минуса для определенных дочерних объектов TreeNode. Я знаю, что могу сделать это на всем уровне TreeView, используя свойство TreeView.ShowPlusMinus
, но мне интересно, могу ли я скрыть знаки только для выбранных объектов TreeNode.Отключение знака плюса/минуса на определенных узлах TreeView
ответ
Увы, Windows Forms TreeView класса оборачивает родную tree view control, и этот элемент управления поддерживает только отображение или скрытие знаков «плюс/минус» по всему миру.
Это потому, что внутри этого флага сопоставляется стиль управления TVS_HASBUTTONS, который, конечно, влияет на весь элемент управления, а не отдельные элементы.
Насколько я знаю, единственный способ добиться того, что вы хотите, - это обработать событие DrawNode и render everything yourself.
На основании вашего редактирования выше, вы должны переопределить BeforeCollapse события вашего TreeView, чтобы отменить крах, если это нескладная узел:
private void treeView1_BeforeCollapse(object sender, TreeViewCancelEventArgs e) {
MyParameter myP = e.Node.Tag as MyParameter;
if (myP != null) {
if (myP.Type == MyParameterType.NonCollapsible) {
e.Cancel = true;
}
}
}
Извините, я понял, что мой комментарий, возможно, был немного заблуждением. Вместо того, чтобы говорить «отключить» знак плюса/минуса, я должен был сказать «скрыть». В основном я хочу отключить поведение expand/collapse и скрыть знак плюса/минуса, чтобы пользователю было ясно, что узел не может быть свернут. Главное, что я не знаю, как это сделать, - это скрыть знак плюса/минуса. – Abiel
Я не думаю, что это возможно со встроенным управлением. Если вы хотите перейти * с оси *, вам придется ** перевернуть свой собственный **. – jp2code
Каждый элемент TreeViewItem (TVITEM) имеет член cChildren. Если 0, то знак plusminus скрыт. если 1, отображается знак +.
См http://msdn.microsoft.com/en-us/library/windows/desktop/bb773456%28v=vs.85%29.aspx
Не забудьте флаг TVIF_CHILDREN.
Ответьте, потому что я искал тот же вопрос и не нашел ответа.
- 1. Редактирование вопросительного знака TreeView
- 2. Как запустить Spark-задание на определенных узлах
- 3. Kubertnetes API - получает Pods на определенных узлах
- 4. Отключение определенных USB-устройств
- 5. JavaFX TreeView - изменение фона CSS на узлах Sibling на MouseEvent
- 6. Переопределить счет в узлах treeview C#
- 7. Отключение определенных команд/программ в определенных папках?
- 8. Отключение определенных правил решара для определенных файлов
- 9. Показывать флажок на дочерних узлах с Kendo Treeview
- 10. Почему стиль наведения не работает на листовых узлах jQuery Treeview?
- 11. Отключение определенных UIViews от штрихов
- 12. Отключение FileSystemWatcher для определенных обновлений?
- 13. Отключение определенных групп задач рейка
- 14. отключение определенных услуг в UIDocumentController
- 15. Размещение данных в определенных узлах в Cassandra
- 16. Изменение тяготения силы тяжести на определенных узлах с помощью SpriteKit
- 17. Как отключить кеширование на определенных узлах в MVCSiteMapProvider?
- 18. SLURM: Как запустить только 30 заданий только на определенных узлах?
- 19. Есть ли способ ограничить запуск мастера приложения на определенных узлах?
- 20. Значение текстового знака в узле treeview
- 21. Отключение IIS 6 HttpCompression для определенных браузеров
- 22. Отключение функции jquery.validate для определенных полей
- 23. Отключение sellestions intellisense для определенных пакетов?
- 24. Отключение проверки гибернации для определенных методов
- 25. ggplot2 - изменение или отключение определенных легенд
- 26. Запрет добавления знака доллара из определенных строк
- 27. Свернутые срабатывает событие на родительских узлах TreeViewItem
- 28. Включение, отключение определенных столбцов WPF Toolkit datagrid
- 29. Отключение определенных компонентов вида (когда отображается SWREvealViewController)
- 30. jQuery DataTable: отключение сортировки для определенных столбцов
Вы имеете в виду ** без ** удаления узлов? – jp2code
@ jp2code: Узлы загружаются динамически, считывая данные с веб-службы. Прежде чем каждый узел будет загружен в дерево, я хочу проверить, должен ли он быть не сбрасываемым узлом, и в этом случае я хотел бы отключить знак плюса/минуса (отдельно я бы также поместил узел в расширенный режим и отключил нормальный дважды щелкните развернуть/свернуть поведение). После того, как узел добавлен в дерево, мне больше не нужно настраивать плюс/минус. – Abiel