2011-02-23 68 views
0

我们有一个用于BizTalk的自定义管道组件,我们可以在其中设置一些属性(通过属性窗口)。其中一个属性使用了窗体窗体(用户可以添加一些值)。现在的问题是,如果用户想从Visual Studio中复制某些东西,他必须先关闭窗口,复制文本并再次打开窗口。这是因为你不能在窗体外单击(它卡在visual studio中)。无论如何解决这个问题,所以你可以从Visual Studio中选择文本?也许改变窗户的风格呢?BizTalk自定义管道组件属性调用窗口形式

THX

回答

0

创建自定义UI TypeEditor为了与Visual Studio的属性网格交互显示一个对话框,通过实现IWindowsFormsEditorService完成。

不幸的是,这个接口使用ShowDialog方法,它没有公开显示无模式对话的简单方法。只支持模态对话框,这意味着在编辑调用模态对话框的特定属性时,您确实无法从Visual Studio的其他任何区域复制值。

但是,如果您准备好做一些繁重的工作和肮脏的工作,您可以使用DropDownControlCloseDropDown方法来实现您想要的目标。这个想法是在一个单独的线程中显示一个无模式对话框,并阻止用户关闭对话框。你需要使用同步原语才能工作。 modeless color picker dialog的类似示例可以在此处找到。

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