BizTalk自定义pipelinecomponent属性调用windows窗体

时间:2011-02-23 10:12:49

标签: winforms window biztalk custom-pipeline-component

我们有一个BizTalk的自定义管道组件,我们可以在其中设置一些属性(通过属性窗口)。其中一个属性使用Windows窗体(用户可以在其中添加一些值)。现在的问题是,如果用户想要从visual studio复制某些东西,他必须首先关闭窗口,复制文本并再次打开窗口。这是因为你无法在窗体外单击(它被卡在视觉工作室内)。有没有解决这个问题,所以你可以从visual studio中选择文字?也许改变窗口风格左右?

THX

1 个答案:

答案 0 :(得分:0)

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

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

但是,如果您准备做一些繁重的工作,那么您可以使用DropDownControlCloseDropDown方法来实现您想要的目标。我们的想法是在一个单独的线程和块中显示一个无模式对话框,直到用户解除对话框为止。您需要使用同步原语才能使其正常工作。可以在此处找到modeless color picker dialog的类似示例。

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