当我单击 buttonOpenAlbum 并在 AlbumListBox 中选择了一个项目时,我试图打开一个新表单 (FormAlbum)。
如果我只是在 buttonOpenAlbum_Click 中有这个:
private void buttonOpenAlbum_Click(object sender, EventArgs e)
{
FormAlbum MusicForm = new FormAlbum(this);
MusicForm.ShowDialog();
}
新的 from 打开没有错误。但是,只要我提到“AlbumListBox.SelectedItem”(如下面的 FormFormMain 代码),我就会在以下位置收到“StackOverflowException was unhandled”:
public ListBox AlbumListBox
{
get
{ // <-This bracket here is where the error highlights
我不明白为什么会出现此错误,只是它必须与 AlbumListBox 有关。我究竟做错了什么?任何帮助表示赞赏,谢谢。
窗体主窗体:
public FormMain()
{
InitializeComponent();
}
private void buttonAddAlbum_Click(object sender, EventArgs e)
{
FormAlbumAC addAlbumForm = new FormAlbumAC(this);
addAlbumForm.ShowDialog();
}
private void buttonOpenAlbum_Click(object sender, EventArgs e)
{
if (AlbumListBox.SelectedItem != null)
{
MessageBox.Show(AlbumListBox.SelectedItem.ToString());
FormAlbum MusicForm = new FormAlbum(this);
MusicForm.ShowDialog();
}
else
{
MessageBox.Show("You need to select an album from the list to open.");
}
}
public static class PublicVars
{
public static List<Album> AlbumList { get; set; }
static PublicVars()
{
AlbumList = new List<Album>(MAX_ALBUMS);
}
}
public ListBox AlbumListBox
{
get
{
return AlbumListBox;
}
}