在表单之间传递AVLTree

时间:2013-03-19 10:48:20

标签: c# forms avl-tree

还有另外一个与我非常相似的问题,但在阅读之后我还是无法让它发挥作用。

我有两种形式,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:表单     {         String Name1 =“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 = " ";


    }
}

}

任何帮助都将非常感谢指出我出错或如何解决它。

它现在编译但它会将Object引用的错误设置为未设置为对象的实例。我希望我已经开始编码这是正确的方法。

2 个答案:

答案 0 :(得分:1)

AVLTree类的访问修饰符是什么?检查它是私有还是内部,因为您的代码需要公开。

答案 1 :(得分:1)

public

上设置parametrized type
public class Artist
{
..

}