所以我有兩種形式。 LibraryBookDialog.cs和MainForm.cs。我試圖將一個對象從LibraryBookDialog.cs傳遞給Mainform.cs。問題是,當我嘗試這樣做,我得到這個錯誤...C#在表單之間傳遞對象
object reference not set to an instance of the object
這裏是我的兩種形式...
LibraryBookDialog.cs:
private LibraryBook book;
public LibraryBook Book
{
get { return book;}
set { book = value;}
}
private void buttonOk_Click(object sender, EventArgs e)
{
if (validateData())
{
try
{
Book.Title = textBoxTitle.Text;
Book.Author = textBoxAuthor.Text;
Book.CopyrightYear = Convert.ToInt32(textBoxCopyrightYear.Text);
this.DialogResult = DialogResult.OK;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "There was an error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
和MainForm.cs
private void buttonNew_Click(object sender, EventArgs e)
{
LibraryBookDialogue dlg = new LibraryBookDialogue();
dlg.ShowDialog();
if (dlg.DialogResult == DialogResult.OK)
{
listBoxLibraryBooks.Items.Add(dlg.Book);
}
dlg.Dispose();
}
這是怎麼發生的?
** **在哪裏做你的錯誤?你使用了調試器嗎? – SLaks
它發生在我單擊窗體上的確定後,catch {}就會看到它。 JIT編譯器告訴我這一點。 – iggy2012
你在哪裏設置值爲'Book'?用你顯示的代碼看起來你試圖設置一個空的對象的屬性,你沒有爲它設置一個值。 – BrunoLM