C# Winform 遍歷面板控件,寫入XML

源碼是:
void FindCtrlName(Control parent)//遍歷面板控件
        {
            foreach (Control ctrl in parent.Controls)
            {
                CtrlToXML(ctrl);
                if (ctrl.Controls.Count > 0)
                {
                    FindCtrlName(ctrl);
                }
            }
        }

        private void CtrlToXML(Control ctrl)//Linq to XML
        {
            XElement xe = XElement.Load(@"setting\test.xml");
            XElement record = new XElement(
                new XElement("controls",
                new XAttribute("type", ctrl.GetType().ToString()),
                new XAttribute("language", "Chinese"),
                new XAttribute("name", ctrl.Name),
                new XElement("title", ctrl.Text),
                new XElement("visible", ctrl.Visible),
                new XElement("enable", ctrl.Enabled),
                new XElement("value", 28.00)));

            xe.Add(record);
            xe.Save(@"setting\test.xml");
//            MessageBox.Show("插入成功!");
        }


我的面板得到的 XML 是:

<?xml version="1.0" encoding="utf-8"?>
<table>
  <controls type="System.Windows.Forms.TabPage" language="Chinese" name="tabPageSys">
    <title>系統參數</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.TabControl" language="Chinese" name="tabControlFSetting">
    <title></title>
    <visible>true</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.PictureBox" language="Chinese" name="pictureBox1">
    <title></title>
    <visible>true</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.GroupBox" language="Chinese" name="groupBox3">
    <title>子設備</title>
    <visible>true</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.Label" language="Chinese" name="label13">
    <title>設備:</title>
    <visible>true</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.ComboBox" language="Chinese" name="comboBox8">
    <title></title>
    <visible>true</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.NumericUpDown" language="Chinese" name="numericUpDown9">
    <title>255</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.UpDownBase+UpDownButtons" language="Chinese" name="">
    <title></title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.UpDownBase+UpDownEdit" language="Chinese" name="">
    <title>255</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.Button" language="Chinese" name="button4">
    <title>GO</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.CheckBox" language="Chinese" name="checkBox1">
    <title>電機</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.RadioButton" language="Chinese" name="radioButton2">
    <title>前後(Y)</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.RadioButton" language="Chinese" name="radioButton1">
    <title>左右(X)</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.UpDownBase+UpDownEdit" language="Chinese" name="">
    <title>0</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.TextBox" language="Chinese" name="textBox3">
    <title></title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
  <controls type="System.Windows.Forms.TextBox" language="Chinese" name="textBox1">
    <title>192.168.1.253</title>
    <visible>false</visible>
    <enable>true</enable>
    <value>28</value>
  </controls>
</table>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章