2013-03-19 80 views
0

還有另一個問題與我的非常相似,但是在閱讀完畢後我仍然無法使用它。在表單之間傳遞AVLTree

我有兩種形式,MainForm和SecondForm以及其他一些類,我需要一個AVLtree實例並能夠通過其他形式訪問它。

這是香港專業教育學院迄今所做

的MainForm

public partial class MainForm : Form 
    { 
     AddArtist secondForm = new AddArtist(); 
     public static AVLTree<Artist> treeAVL { get; set; } 


     public MainForm() 
     { 
      InitializeComponent(); 
     } 

     private void butAdd_Click(object sender, EventArgs e) 
     { 
      secondForm.Show(); 

     } 

     private void MainForm_Load(object sender, EventArgs e) 
     { 

     } 
    } 
} 

SecondForm

公共部分類AddArtist:表 { 字符串名稱1 = 「NO NAME」; int Members = 0; public AVLTreetreeAVL = new AVLTree();

public AddArtist() 
    { 
     InitializeComponent(); 
     treeAVL = MainForm.treeAVL; 
    } 

    private void MainForm_Load(object sender, EventArgs e) 
    { 

    } 
    private void butAdd_Click(object sender, EventArgs e) 
    { 
     Name1 = tBName.Text; 
     Members = (Convert.ToInt32(tBMem.Text)); 

     Artist newArtist = new Artist(Name1,Members); 
     try 
     { 
      treeAVL.InsertItem(newArtist); 
     } 
     catch (Exception) 
     { 
      MessageBox.Show("No Data Entered", "Error",MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 

     tBName.Text = ""; 
     tBMem.Text = " "; 


    } 
} 

}

任何幫助,將不勝感激指出在那裏我去錯了或怎麼解決它。

它現在編譯,但它給出的對象引用未設置爲對象的實例的錯誤。我希望我的編碼是正確的。

回答

1

什麼是AVLTree類的訪問修飾符?檢查它是私人的還是內部的,因爲你的代碼需要它公開。

1

設置publicparametrized type

public class Artist 
{ 
.. 

} 
+0

謝謝,現在排序 – 2013-03-19 11:27:27

+0

我'竭誠爲您服務彌敦道 – 2013-03-19 13:01:54

+0

IM與我的整體解決方案的問題吧,我將能夠壓縮它,並把它給你,要退房嗎? – 2013-03-19 13:35:59