Winforms的HTML布局
时间:2020-03-05 18:49:18 来源:igfitidea点击:
我不想通过指定像素位置在winform表单上安排控件,而是要像在html中布置表单一样进行布局。这将使其缩放更好(适用于较大的字体等)。
有谁知道一个布局库,它允许我们在xml中定义表单并将其布局类似于html?
解决方案
回答
我们是否已签出.NET框架中的TableLayoutPanel和FlowLayoutPanel?这可能是我们要寻找的。
回答
不确定是否有完美的选择。
MyXAML大约在几年前就开始了,它使我们能够以XML形式添加表单,而不是将其嵌入到二进制文件中。不知道该项目是否已终止。
WinForm确实已经具有流布局控件
但是,如果我们想正确地做这种事情,我认为唯一的答案就是改用WPF。
回答
我们可能还需要考虑使用Windows Presentation Foundation(WPF)而不是WinForms WPF具有XML声明性标记语言(XAML),可以很好地定义可伸缩UI。
回答
是的,它叫做WPF :)
认真地说,WinForms 2.0中有一些较新的面板类型,它们使我们无需设置"位置"和"大小"即可放置控件。它们是FlowLayoutPanel和TableLayoutPanel。
我们还应该查看AutoSize属性。当标签的值发生变化时,它会进行大小调整。另外,不要忘记停靠和停泊。
一旦掌握了这些概念,编写一个从XML转换为控件的小解析器就不会那么难,如果我们确实需要的话。
回答
我已经有了MyXAML之类的东西,我的屏幕已经从xml文件加载了。它遭受与MyXAML相同的问题,即我们仍然必须将控件放置在像素位置,而我想要类似html的自动流和表格等。
我认为TableLayoutPanel可能就是我想要的。
回答
我唯一知道的是DevExpress的第三方,称为LayoutControl。