【问题标题】:Passing a AVLTree between forms在表单之间传递 AVLTree
【发布时间】:2013-03-19 10:48:19
【问题描述】:

还有一个问题与我的非常相似,但是在阅读后我仍然无法解决问题。

我有两个表单,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)
        {

        }
    }
}

第二种形式

公共部分类 AddArtist : 表单 { String Name1 = "无名"; 整数成员 = 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 = " ";


    }
}

}

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

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

【问题讨论】:

    标签: c# forms avl-tree


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在您的parametrized type 上设置public

      public class Artist
      {
      ..
      
      }
      

      【讨论】:

      • 我很乐意帮助你,内森
      • 我的整个解决方案现在有问题,我可以将其压缩并发送给您,以便查看吗?
      猜你喜欢
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多