У меня есть этот код, который использует winforms для получения данных, передаваемых между двумя формами (LibraryBookDialog.cs и MainForm.cs).
Вот код для LibraryBookDialog.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 COMP2614HomeLab08
{
public partial class LibraryBookDialog : Form
{
private LibraryBook book;
public LibraryBook Book
{
get
{
if (book == null)
{
book = new LibraryBook();
}
return book;
}
set { book = value; }
}
public LibraryBookDialog()
{
InitializeComponent();
}
private bool validateData()
{
// code that validates user input data
}
private void buttonOk_Click(object sender, EventArgs e)
{
if (validateData())
{
try
{
LibraryBook book = new LibraryBook();
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:
namespace COMP2614HomeLab08
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void buttonNew_Click(object sender, EventArgs e)
{
LibraryBookDialog dlg = new LibraryBookDialog();
dlg.ShowDialog();
if (dlg.DialogResult == DialogResult.OK)
{
listBoxLibraryBooks.Items.Add(dlg.Book);
}
dlg.Dispose();
}
private void MainForm_Load(object sender, EventArgs e)
{
listBoxLibraryBooks.DisplayMember = "Title";
}
}
}
ВОПРОС: Почему, когда я добавляю объект книги LibraryBook в listBox, я получаю пустой элемент,Я имею в виду, что он есть, элемент в listBox существует, но я не уверен, были ли данные переданы из формы в форму.Почему это так?