如果您创建Windows服务项目,则会为您创建一个具有设计器窗口的“Service1”类。工具箱中99%的控件很容易在Windows服务的上下文中无法使用,但设计人员很乐意将GUI控件等内容拖放到服务的设计者表面。
真的?真的??
这是Visual Studio的现实,可以追溯到几个版本,但我从来没有理解为什么MS似乎对此奇怪不感兴趣或不知道。
但它发生在我身上,也许有理由说MS为什么会故意这样做,而我却错过了这条船。请解释?或者我可能只是配置错误的VS IDE开发环境,它可以在其他人的机器上运行。如果是这样,我该如何解决?
当然,这并不妨碍我完成我的工作,但它可能会阻碍学习工作或阻碍浏览“当前设计师画布”相关“实际可用”组件的速度。
是的我知道可以手动折叠工具箱的各个部分,但是这个答案并没有削减它。像.net和VS一样强大的工具应该能够确定“哪些工具与当前设计画布相关”。也许有一个插件可以为我做这个选择?
对这一切充满好奇......
答案 0 :(得分:2)
我认为问题在于服务的设计画布允许删除fo组件,它们是控件的超类。因此,任何控件都是一个组件,因此任何控件都可以放在它上面。
当然,IDE可以测试它是否也支持Control接口,但是可能会编写控件以检测GUI是否受支持,并且在这种情况下仅充当控件。因此,IDE无法知道控件可以自动检测的内容。
实现这项工作的唯一方法是强制组件支持的任意接口,这看起来很愚蠢。