我们有一个用于 BizTalk 的自定义管道组件,我们可以在其中设置一些属性(通过属性窗口)。其中一个属性使用 Windows 窗体(用户可以在其中添加一些值)。现在的问题是,如果用户想要从 Visual Studio 复制某些内容,他必须先关闭窗口,复制文本并再次打开窗口。这是因为您无法在 Windows 窗体外部单击(它卡在 Visual Studio 内)。有没有办法解决这个问题,所以你可以从 Visual Studio 中选择文本?也许改变窗口样式左右?
谢谢
我们有一个用于 BizTalk 的自定义管道组件,我们可以在其中设置一些属性(通过属性窗口)。其中一个属性使用 Windows 窗体(用户可以在其中添加一些值)。现在的问题是,如果用户想要从 Visual Studio 复制某些内容,他必须先关闭窗口,复制文本并再次打开窗口。这是因为您无法在 Windows 窗体外部单击(它卡在 Visual Studio 内)。有没有办法解决这个问题,所以你可以从 Visual Studio 中选择文本?也许改变窗口样式左右?
谢谢
通过实现IWindowsFormsEditorService创建自定义 UI TypeEditor 以显示对话框以与 Visual Studio 属性网格交互。
不幸的是,这个界面使用的ShowDialog
方法并没有提供一种简单的方法来显示无模式对话框。仅支持模式对话框,这意味着在编辑调用模式对话框的此特定属性时,您实际上无法从 Visual Studio 的任何其他区域复制值。
但是,如果您准备做一些繁重和肮脏的工作,您可以通过使用DropDownControl
andCloseDropDown
方法来实现您想要的。这个想法是在一个单独的线程中自己显示一个无模式对话框并阻塞,直到用户关闭对话框。您需要借助同步原语才能使其工作。可以在此处找到无模式颜色选择器对话框的类似示例。
http://www.codeproject.com/KB/selection/WinFormsColorEditor.aspx