2012-12-05 67 views
2

我需要編寫一個簡單的WinForm的使用C#的外觀XML代碼。例如,我有一個包含兩個按鈕,listview,treeview,groupbox,菜單和麪板的窗體。WinForm的外觀XML文件

後來,我需要閱讀該文件,它具有精確的重相同的WinForm。

對如何處理這個問題的任何想法?我已經看到了有關此事類似的職位,但只介紹如何編寫值,而不是定位,規模等..

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

+0

你指的是表單系列化?有關於它的[這裏]好的帖子(http://www.codeproject.com/Articles/86503/Saving-the-state-serializing-a-Windows-Form) –

+0

有用的鏈接,謝謝! – cvenko

回答

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); 
    } 
} 
+0

要嘗試一下,非常感謝。 – cvenko