2

我需要使用 C# 将简单 WinForm 的外观写入 XML 代码。例如,我有一个带有两个按钮、列表视图、树视图、组框、菜单和面板的表单。

稍后,我需要读取该文件,它必须重建完全相同的 WinForm。

关于如何处理这个问题的任何想法?我看过一篇关于matter的类似帖子,但它只描述了如何写值,而不是定位、大小等......

这是一个例子,写在 xml 文件中的数据应该是什么样子

4

1 回答 1

4

我会在这里使用 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);
    }
}
于 2012-12-05T16:11:08.393 回答