Это механизм потока программ для очистки среды элемента управления.Хотя это правда, что исключения являются дорогостоящими по сравнению с обычным кодом (архетипический пример использует FormatExceptions в цикле, который преобразует строки в целочисленные значения - следовательно, необходимы методы типа TryParse), по сравнению с основными изменениями в пользовательском интерфейсе, выборка данных избаза данных и т. д. они очень дешевы и просты в обслуживании.
Демонстрационный код, который вы цитируете, является именно таким сценарием: элемент управления собирается обновить все содержимое.Конечный пользователь нажал на конкретный значок, чтобы выполнить определенное действие - исключение не «выдается» вообще.Моя единственная претензия к этому примеру кода (и я подчеркиваю, что это пример кода) заключается в том, что действие выполняется при нажатии мыши, а не при нажатии мыши вверх.
Я предполагаю, что аргумент "могут быть использованы исключения длятакого рода макропрограмма, или мы должны установить жесткое правило, что они должны использоваться только для сообщений об ошибках? "Но это совсем другой вопрос.
Обновление
Команда WinForms сообщает мне:
HideException
- это наше внутреннее исключение, которое используется для предотвращения дефолтаобработка событий мыши.Мы согласны, что это старомодный способ остановить выполнение кода, особенно учитывая, что у нас уже есть DXMouseEventArgs
с возможностью установить e.Handled = true
.К сожалению, XtraTreeList в настоящее время не полностью поддерживает DXMouseEventArgs
.Мы добавим эту функциональность в следующей минорной версии и обновим пример E2474 соответственно.
Так что это будет представлять археологический интерес через месяц или около того.