Visual Studio Designer和Toolbox混淆

时间:2011-07-23 21:07:24

标签: .net visual-studio components designer

如果您创建Windows服务项目,则会为您创建一个具有设计器窗口的“Service1”类。工具箱中99%的控件很容易在Windows服务的上下文中无法使用,但设计人员很乐意将GUI控件等内容拖放到服务的设计者表面。

真的?真的??

这是Visual Studio的现实,可以追溯到几个版本,但我从来没有理解为什么MS似乎对此奇怪不感兴趣或不知道。

但它发生在我身上,也许有理由说MS为什么会故意这样做,而我却错过了这条船。请解释?或者我可能只是配置错误的VS IDE开发环境,它可以在其他人的机器上运行。如果是这样,我该如何解决?

当然,这并不妨碍我完成我的工作,但它可能会阻碍学习工作或阻碍浏览“当前设计师画布”相关“实际可用”组件的速度。

是的我知道可以手动折叠工具箱的各个部分,但是这个答案并没有削减它。像.net和VS一样强大的工具应该能够确定“哪些工具与当前设计画布相关”。也许有一个插件可以为我做这个选择?

对这一切充满好奇......

1 个答案:

答案 0 :(得分:2)

我认为问题在于服务的设计画布允许删除fo组件,它们是控件的超类。因此,任何控件都是一个组件,因此任何控件都可以放在它上面。

当然,IDE可以测试它是否也支持Control接口,但是可能会编写控件以检测GUI是否受支持,并且在这种情况下仅充当控件。因此,IDE无法知道控件可以自动检测的内容。

实现这项工作的唯一方法是强制组件支持的任意接口,这看起来很愚蠢。