WinForm查找XML文件

时间:2012-12-05 16:00:08

标签: c# xml

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

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

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

This is anexample, how the data written in xml file should look like

1 个答案:

答案 0 :(得分: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);
    }
}