Member 11227027 Ответов: 0

Редактор пользовательских форм зависает при удалении пользовательского элемента управления из вкладки tabcontrol


Привет,

Я разработал пользовательский конструктор форм, с помощью которого я могу создать форму с несколькими пользовательскими элементами управления. Я также разработал функцию отмены/повтора в этом редакторе форм, используя класс UndoEngine.

Когда UndoEngine включен и пользователь удалил элемент управления из вкладки, он фактически вызывает MenuCommandService.Вызовите метод() поверх стандартного командного идентификатора delete. И этот API на самом деле занимает много времени, чтобы вызвать метод dispose пользовательского элемента управления, что приводит к зависанию редактора форм.

Пожалуйста, предложите любое решение этой проблемы. Спасибо!



Спасибо,
Кумар

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

Я попытался вызвать метод invoke() в отдельном потоке, но безрезультатно.
я попытался получить дескриптор фактического объекта и вызвать host.destroycomponent(object).
Я попытался вызвать метод Invoke() асинхронно.

Ralf Meier

С этой небольшой информацией я не могу сделать никаких предположений.
Необходимо знать, как работает ваш форм-дизайнер, а также как именно вы действуете (или думаете, что действуете), если элемент управления удален ...

BillWoodruff

Почему вы создали что-то похожее на конструктор форм VS ?

Знаете ли вы об ограничениях использования класса 'UndoEngine за пределами Visual Studio:

https://stackoverflow.com/a/20585060/133321

Мы не можем читать ваши мысли или ваш экран

0 Ответов