我习惯了 Java 中的 GUI 框架以及 QT GUI 框架,也习惯了各种布局管理器。C# 似乎没有内置任何布局管理器,或者我错过了什么?
2 年后编辑
我只想向这个问题的任何读者指出,事后看来,我的问题放错了地方。通过正确锚定和停靠子控件,几乎不需要 Java 和 QT4 的布局管理器。
我习惯了 Java 中的 GUI 框架以及 QT GUI 框架,也习惯了各种布局管理器。C# 似乎没有内置任何布局管理器,或者我错过了什么?
我只想向这个问题的任何读者指出,事后看来,我的问题放错了地方。通过正确锚定和停靠子控件,几乎不需要 Java 和 QT4 的布局管理器。
WPF 确实有布局管理器,请参阅:
http://msdn.microsoft.com/en-us/library/ms745058.aspx
如果您具有 Java 背景,那么“面板元素和自定义布局行为”部分将特别有趣。
WPF 和 Windows 窗体都提供布局功能(WPF 在这方面做得更好)。
通过利用控件的 Dock 和 Anchor 属性,您也可以在 Windows 窗体中实现适度复杂的布局。我个人通过Petzold 关于 WinForms 的书了解了可以实现的目标和方法。如果您无法访问那本书,请阅读这篇短文。
chibacity 是对的,WPF 加载了布局管理器,它们都非常好。
但是,如果您要走 WinForms 路线,您就会被 TableLayoutPanel、FlowLayoutPanel 和 SplitContainer 困住。以及通常的手动 Panel 和 GroupBox 控件。
WPF 和 Silverlight 具有不同的“面板”,其工作方式类似于其他语言中的布局管理器。