【问题标题】:Visual Studio Designer and Toolbox ConfusionVisual Studio 设计器和工具箱混淆
【发布时间】:2011-10-11 19:28:29
【问题描述】:

如果您创建一个 Windows 服务项目,则会为您创建一个具有设计器窗口的“Service1”类。工具箱中 99% 的控件很容易在 Windows 服务的上下文中不可用,但设计人员很乐意允许将 GUI 控件之类的东西拖放到服务的设计人​​员界面。

真的吗?真的吗??

这一直是 Visual Studio 的现实,可以追溯到几个版本,但我一直不明白为什么 MS 似乎对这种奇怪现象不感兴趣或不知道。

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

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

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

对这一切感到好奇......

【问题讨论】:

    标签: .net visual-studio components designer


    【解决方案1】:

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

    当然,IDE 可以测试它是否还支持 Control 接口,但可以编写控件来检测是否支持 GUI,并在这种情况下充当控件。因此,IDE 无法知道控件可以自动检测到什么。

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

    【讨论】:

    • 我认为这个答案是正确的。它可能需要与服务相关的组件的特殊属性,而不是接口。但无论哪种方式,如果他们现在实施,所有旧组件都会消失,这显然是不可接受的。
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2014-12-19
    • 2012-03-19
    相关资源
    最近更新 更多