我需要使用 C# 将简单 WinForm 的外观写入 XML 代码。例如,我有一个带有两个按钮、列表视图、树视图、组框、菜单和面板的表单。
稍后,我需要读取该文件,它必须重建完全相同的 WinForm。
关于如何处理这个问题的任何想法?我看过一篇关于matter的类似帖子,但它只描述了如何写值,而不是定位、大小等......
我需要使用 C# 将简单 WinForm 的外观写入 XML 代码。例如,我有一个带有两个按钮、列表视图、树视图、组框、菜单和面板的表单。
稍后,我需要读取该文件,它必须重建完全相同的 WinForm。
关于如何处理这个问题的任何想法?我看过一篇关于matter的类似帖子,但它只描述了如何写值,而不是定位、大小等......
我会在这里使用 LinqToXml .....
XElement root = new XElement("Form");
TraverseAllControls(root, this);
var xml = root.ToString();
void TraverseAllControls(XElement xElem,Control ctrl)
{
foreach (Control c in ctrl.Controls)
{
if (String.IsNullOrEmpty(c.Name)) continue;
var e = new XElement(c.Name,
new XElement("Width",c.Width),
new XElement("Height",c.Height),
new XElement("X",c.Location.X),
new XElement("Y",c.Location.Y));
xElem.Add(e);
TraverseAllControls(e, c);
}
}