如何创建包含XML文档提供的属性的Windows窗体?
这是一个XML文档:
<Form>
<Size>
<Width>558</Width>
<Height>537</Height>
</Size>
<Text>XML saving</Text>
<Name>Form1</Name>
<Button>
<Name>button1</Name>
<Text>XML button</Text>
<Size>
<Width>130</Width>
<Width>45</Width>
</Size>
<Location>
<X>14</X>
<Y>24</Y>
</Location>
</Button>
</Form>
加载表单后,我需要使用XML文档中的值显示表单和按钮。
任何人都可以提供有关此主题的任何帮助或教程吗?
答案 0 :(得分:4)
您可以使用内置功能来保存和恢复表单设置。使用application settings binding。
您可以将表单的大小,位置,文本等属性与其控件绑定到设置,这些设置将自动加载并应用于控件。步骤进行:
(ApplicationSettings)
属性
如果你真的需要使用xml,那么你应该手动解析它。您可以创建一些(扩展)方法,例如(使用Linq到Xml的样本):
public static void ApplySettings(this Button button, XDocument xdoc)
{
var settings = xdoc
.Descendatns("Button")
.SingleOrDefault(b => (string)b.Element("Name") == button.Name);
if (settings == null)
return;
button.Text = (string)settings.Element("Text");
var location = settings.Element("Location");
if (location != null)
{
button.X = (int)location.Element("X");
button.Y = (int)location.Element("Y");
}
//etc
}
并为每个控件调用这些方法:
var xdoc = XDocument.Load(settings_file);
button1.ApplySettings(xdoc);
// etc