0

重複の可能性:
C# による XML ファイルの読み込み

プログラムに問題がありました。実行中 (読み込み中) にプログラムに適用する必要がある Form プロパティを含む 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;              
        }
4

2 に答える 2

1

formaENA を初期化していないため、このエラーが発生しています。プロパティを割り当てる前に、そのフォームを作成してみてください。

    formaENA frm = new formaENA();
    foreach(var size in form)
    {
        frm.Width = size.Width;
        frm.Height = size.Height;              
    }
    frm.Show();
于 2013-01-08T15:59:53.037 に答える
0

formaENA を初期化していないようです。ActiveForm という名前の静的プロパティがない場合は、null ポインター例外が発生するはずです。

于 2013-01-08T16:01:27.037 に答える