源码是:
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>