Форма окна вызова свойств пользовательского конвейерного компонента BizTalk

У нас есть собственный конвейерный компонент для BizTalk, где мы можем установить некоторые свойства (через окно свойств). Одно из свойств использует форму окна (где пользователь может добавить некоторые значения). Теперь проблема в том, что если пользователь хочет скопировать что-то из Visual Studio, он должен сначала закрыть окно, скопировать текст и снова открыть окно. Это потому, что вы не можете щелкнуть за пределами окна формы (он застрял внутри Visual Studio). Есть ли способ исправить это, чтобы вы могли выбирать текст в Visual Studio? Может быть, изменить стиль окна или так?

Спасибо

1 ответ

Создание пользовательского пользовательского интерфейса TypeEditor для отображения диалогового окна для взаимодействия с сеткой свойств Visual Studio выполняется путем реализации IWindowsFormsEditorService.

К сожалению, этот интерфейс использует ShowDialog метод, который не предоставляет простое средство для отображения немодальных диалогов. Поддерживаются только модальные диалоги, это означает, что вы не можете действительно копировать значения из любых других областей Visual Studio при редактировании этого конкретного свойства, которое вызывает модальное диалоговое окно.

Однако, если вы готовы выполнять тяжелую и грязную работу, вы можете добиться того, чего хотите, используя DropDownControl а также CloseDropDown методы вместо. Идея состоит в том, чтобы отобразить немодальное диалоговое окно самостоятельно в отдельном потоке и заблокировать, пока пользователь не закроет диалоговое окно. Вам нужно будет прибегнуть к примитивам синхронизации, чтобы это работало. Подобный пример для немодального диалога выбора цвета можно найти здесь.

http://www.codeproject.com/KB/selection/WinFormsColorEditor.aspx

Другие вопросы по тегам