在表单之间传递一个二叉搜索树
本文关键字:一个 搜索树 之间 表单 | 更新日期: 2023-09-27 18:04:21
我目前正试图访问我在form2中创建的form1中的二叉搜索树。第一个表单的代码是:
public Home() {
InitializeComponent();
}
AddArtist secondForm = new AddArtist();
BSTree<Artist> ArtistCollection = new BSTree<Artist>();
private void btnAdd_Click(object sender, EventArgs e) {
secondForm.ShowDialog();
}
第二个表单的代码是:
private void btnDone_Click(object sender, EventArgs e) {
string artistName = txtName.Text;
Artist newArtist = new Artist(artistName);
ArtistCollection.InsertItem(artistName);
this.DialogResult = DialogResult.OK;
}
我试过在它自己的类中声明它的方法,所以没有结果。
在你的第一个表单中将ArtistCollection
作为一个属性。
public BSTree<Artist> ArtistCollection { get; set; }
你可以像这样从第二种形式引用它:
var tree = form1.ArtistCollection;
或者在Form2
中创建一个新的构造函数public Form2(BSTree<Artist> artistCollection)
{
this.artistCollection = artistCollection;
}
当实例化第二个表单时,它们必须首先传递"this",它们必须在第二个表单的构造函数中处理这个参数