2

我不想通过指定像素位置来安排 Winform 表单上的控件,而是将其布局类似于您在 html 中布局表单的方式。这将使它更好地扩展(对于更大的字体等)。

有谁知道允许您在 xml 中定义表单并将其布局类似于 html 的布局库?

4

6 回答 6

4

你检查过 .NET 框架中的TableLayoutPanelFlowLayoutPanel吗?这可能是您正在寻找的。

于 2008-09-08T12:25:48.783 回答
3

是的,它被称为 WPF :)

说真的,WinForms 2.0 中有一些较新的面板类型可以让您放置控件而无需设置位置和大小。它们是 FlowLayoutPanel 和 TableLayoutPanel。

您还应该查看 AutoSize 属性。当标签的值发生变化时,它会负责调整大小。另外,不要忘记对接和锚定。

一旦你掌握了这些概念,如果你觉得你真的需要它,编写一个从 XML 转换为控件的小解析器应该不会那么难。

于 2008-09-08T12:32:30.437 回答
2

不确定有什么完美的。

MyXAML 大约在几年前推出,它使您能够在 XML 中添加表单,而不是将它们嵌入到二进制文件中。不确定该项目是否已死。

WinForm 确实已经有了流布局控件

但是,如果您想正确地做这种事情,我认为唯一的答案是转向 WPF。

于 2008-09-08T12:28:46.590 回答
0

您可能还想考虑使用 Windows Presentation Foundation (WPF) 而不是 WinForms - WPF 有一种 XML 声明性标记语言 (XAML),它可以很好地定义可扩展的 UI。

于 2008-09-08T12:29:25.700 回答
0

我已经有了类似 MyXAML 的东西——我的屏幕已经从 xml 文件加载了。它遇到与 MyXAML 相同的问题,即您仍然必须使用像素位置来定位控件,而我想要具有自动流和表格等的 html 之类的东西。

我认为 TableLayoutPanel 可能是我正在寻找的。

于 2008-09-08T21:49:36.883 回答
0

我所知道的唯一一个是来自 DevExpress 的第 3 方,称为LayoutControl ..

于 2008-12-11T17:51:42.177 回答