2008-10-16 69 views

回答

0

虽然这是真的,扩大对话是不完全的支持,您可以逃脱一些自定义。在之前的项目中,我可以在运行时隐藏和重新排列某些对话框控件。

var dialog = new RuleSetDialog(activityType, null, ruleset); 
dialog.Controls["headerTextLabel"].Visible = false; 
dialog.Controls["pictureBoxHeader"].Visible = false; 

... 

var ruleGroupBox = dialog.Controls["ruleGroupBox"]; 
ruleGroupbox.Top -= 46; 

... etc. 

发射反射器并捅周围。没有什么能阻止你隐藏和移动控件来定制它。您甚至可以将控件添加到组框,重新连接按钮处理程序,或完全重新排列表单以满足您的喜好。这有点手动,但可以完成。

0

您可以仅通过一点点破解来完成:将智能感知文本框的内部控制从System.Workflow.Activities.Rules.Design命名空间中分离出来......然后您可以使用它完成任何操作。这里的分离意味着:通常创建一个包装器(适配器可能是一个Textbox控件),在解析一些依赖关系之后也可以实例化(最坏的情况下,你可以隐藏原始规则编辑器,解析器等等)。