Visual Studio WinForms 工具箱中的每个控件都必须从Control
?
Visual Studio 是否支持无窗口控件?
在 Visual Studio 中添加到工具箱的每个控件:
must 1 descend from Control
,它是一个窗口控件的包装器。
不幸的是,窗口控件非常“重”;有很多,尤其是嵌套的,会导致 WinForms 中的性能受到影响。
在过去,我通过创建聚合自定义控件来解决这个问题。自定义控件内部包含其他无窗口控件:
- 图像(a 的无窗口版本
PictureBox
) - 标题标签(a 的无窗口版本
Label
) - 字幕标签(a 的无窗口版本
Label
) - 边框(a 的无窗口版本
Panel
)
这些对于缓解 WinForms 中的性能问题很有用,但它们被困在代码中。
我想做其他开发环境允许的事情,是一个Control
不创建 Windows 窗口的版本。我希望 Visual Studio 工具箱能够接受 **window-less* 控件。
我知道如果我真的想要无窗口控件:我应该切换到 WPF。但这太过分了。
Visual Studio WinForms 是否支持无窗口控件?
1与否