0

我们有一个用于 BizTalk 的自定义管道组件,我们可以在其中设置一些属性(通过属性窗口)。其中一个属性使用 Windows 窗体(用户可以在其中添加一些值)。现在的问题是,如果用户想要从 Visual Studio 复制某些内容,他必须先关闭窗口,复制文本并再次打开窗口。这是因为您无法在 Windows 窗体外部单击(它卡在 Visual Studio 内)。有没有办法解决这个问题,所以你可以从 Visual Studio 中选择文本?也许改变窗口样式左右?

谢谢

4

1 回答 1

0

通过实现IWindowsFormsEditorService创建自定义 UI TypeEditor 以显示对话框以与 Visual Studio 属性网格交互。

不幸的是,这个界面使用的ShowDialog方法并没有提供一种简单的方法来显示无模式对话框。仅支持模式对话框,这意味着在编辑调用模式对话框的此特定属性时,您实际上无法从 Visual Studio 的任何其他区域复制值。

但是,如果您准备做一些繁重和肮脏的工作,您可以通过使用DropDownControlandCloseDropDown方法来实现您想要的。这个想法是在一个单独的线程中自己显示一个无模式对话框并阻塞,直到用户关闭对话框。您需要借助同步原语才能使其工作。可以在此处找到无模式颜色选择器对话框的类似示例。

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

于 2011-02-28T09:34:50.897 回答