将xml文件中的属性应用于表单

时间:2013-01-08 15:39:23

标签: c# xml forms

  

可能重复:
  C# loading a XML file

我的程序出了问题。我需要阅读一些xml文件,其中我有表单属性,我需要在运行(加载)它时应用于我的程序。我得到了这段代码,但是在运行时它给了我一个错误(对象引用未设置为对象的实例)。我现在迷路了,真的不知道如何将这些设置从xml应用到我的程序中。

<Form>
   <Size>
     <Width>558</Width> 
     <Height>537</Height> 
   </Size>
   <Text>XML saving</Text> 
   <Name>Test_name</Name> 
</Form>
    public formaENA()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        XDocument newDoc = XDocument.Load(@"C:\testXML.xml");

        var form = from size in newDoc.Descendants("Size")
                    select new
                    {
                        Width = Convert.ToInt32(size.Element("Width").Value),
                        Height = Convert.ToInt32(size.Element("Height").Value)           
                    };

        foreach(var size in form)
        {
            formaENA.ActiveForm.Width = size.Width;
            formaENA.ActiveForm.Height = size.Height;              
        }

2 个答案:

答案 0 :(得分:1)

嗯,您收到此错误是因为您尚未初始化formaENA。 尝试在将任何属性赋予它之前创建该表单。

    formaENA frm = new formaENA();
    foreach(var size in form)
    {
        frm.Width = size.Width;
        frm.Height = size.Height;              
    }
    frm.Show();

答案 1 :(得分:0)

在我看来,你还没有初始化formaENA。如果它没有名为ActiveForm的静态属性,则应该获得空指针异常。