2

を作ろうとしていmultiWindowsFormます。

どのように機能するかを試すために、ボタンを追加した単純なフォームから始めました。それをクリックすると、別のウィンドウがポップアップするはずです。しかし、私はそれを機能させることができません。エラーでクラッシュします:

Object reference not set to an instance of an object!

ProjectAdd→を使っWindows formて名付けましたMupp.cs

これが私のコードですForm1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MultiForm
{
    public partial class tryout : Form
    {
        public tryout()
        {
            InitializeComponent();
        }

        Mupp theMupp;

        private void Form1_Load(object sender, EventArgs e)
        {
            theMupp = new Mupp();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            theMupp.Show();
        }
    }
}

私は何を逃した可能性がありますか?

4

2 に答える 2

4

loadイベントが発生していないため、オブジェクトを初期化していないようです。loadイベントがフックされていることを確認してください。

または、クリックイベントで初期化します。

 private void button1_Click(object sender, EventArgs e)
 {
     using (Mupp theMupp = new Mupp())
     {
         theMupp.ShowDialog();
     }
 }

これがお役に立てば幸いです。

于 2013-01-19T17:31:28.730 に答える
2
public tryout()
{
      InitializeComponent();
      this.Load += new EventHandler(Form1_Load);
}
于 2013-01-19T17:33:52.987 に答える