0

还有另一个问题与我的非常相似,但是在阅读后我仍然无法让它工作。

我有两个表单,MainForm 和 SecondForm 以及其他一些类,我需要我的 AVLtree 的一个实例,并且能够通过我的其他表单访问它。

这是我到目前为止所做的

主窗体

    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)
        {

        }
    }
}

第二种形式

public partial class AddArtist : Form { String Name1 = "No Name"; 整数成员 = 0;公共 AVLTreetreeAVL = 新 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 = " ";


    }
}

}

任何帮助将不胜感激,指出我哪里出错或如何解决它。

它现在可以编译,但是它给出了未设置对象实例的对象引用错误。我希望我开始编码这是正确的方法。

4

2 回答 2

1

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

于 2013-03-19T10:55:12.523 回答
1

设置public在您的parametrized type

public class Artist
{
..

}
于 2013-03-19T10:55:15.707 回答