2013-03-16 55 views
0

我目前正在嘗試訪問我在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; 
} 

我已經試過了自己的類,所以沒有結果中聲明它的方法。

回答

1

只需將ArtistCollection作爲第一種形式的屬性公開即可。

public BSTree<Artist> ArtistCollection { get; set; } 

然後,您可以參考它從你的第二種形式是這樣的:實例,他們首先必須第二種形式時

var tree = form1.ArtistCollection; 

或者,創建一個新的構造在窗體2

public Form2(BSTree<Artist> artistCollection) 
{ 
    this.artistCollection = artistCollection; 
} 
0

通過「this」,他們必須在第二種形式的構造函中處理