Markus Rechberger Ответов: 1

Treeview - запретить переименование пустого узла


У меня есть TreeView (используя Crownwood.DotNetMagic, он должен быть похож на WinForms), и когда пользователь редактирует узел, ему не следует разрешать выходить из режима редактирования, когда текст пуст.

В TreeView есть похожие события, такие как это treeview от WinForms

Что я уже пробовал:

Я пытался сделать это в своем AfterLabelEdit, но он не совсем делает то, что я хочу: он возвращает текст к исходному тексту, но я хочу, чтобы он оставался пустым в режиме редактирования (пользователю просто не должно быть разрешено фиксировать свои изменения)
if (String.IsNullOrEmpty(e.Label))
{
    e.Cancel = true;
    e.Node.BeginEdit();
    return;
}

1 Ответов

Рейтинг:
5

Gerry Schmitz

Создайте функцию "добавить узел", "удалить" и "переименовать / заменить" узел с помощью клавиши PF, кнопки и т. д., а также запросите необходимые данные для применения к древовидному представлению / узлу.

Ваша жизнь будет проще, если вы будете поддерживать "контроль" над процессом обслуживания древовидного представления, а не гадать, что пользователь может попытаться сделать после того, как он сделал ход.


[no name]

То есть вы хотите сказать, что пользователь не должен иметь возможности редактировать узел, дважды щелкнув его? Он должен быть в состоянии сделать это, только нажав дополнительную кнопку редактирования, верно?

Это решило бы мое решение, но программа должна быть более удобной для пользователя, и быстрее дважды щелкнуть узел, чем нажать на него один раз, а затем нажать на кнопку редактирования (которая также уже существует кстати).


Но спасибо вам за ваше возможное решение. Было бы здорово, если бы вы могли придумать другую идею :)

Gerry Schmitz

Вы должны выбрать узел в любом случае; если дерево не пусто; в этом случае, как пользователь "добавляет"?.

Когда вы выбираете, вы можете щелкнуть правой кнопкой мыши и открыть контекстное меню; кажется, что это достаточно "дружелюбно" по сравнению с вопросом, Что делать с "недопустимым" узлом. Никаких изменений в "представлении".

[no name]

Да, именно это я и сделал.... Не совсем то, что я хотел бы иметь, но это прекрасно. Спасибо Вам за Ваш ответ!