0

我目前有一个类来处理我的树视图和其他 winForm 组件。

我想使用另一个表单作为我的输入,一旦我按下保存按钮,它应该在另一个表单上更新我的树视图组件。到目前为止,我尝试过的都没有奏效。

这是我的代码:

*mainDisplay 是我的表单,其中包括我的组件并存储保存数据的变量

在这里,我将日期加载到树视图中

    public void mainDisplay_Load( TreeNode input)
    {
        treeView1.BeginUpdate();
        foreach (data x in mydata1)
        {
            Console.WriteLine(x.getName());
            if (x.getName() != null)
            {
                treeView1.Nodes.Add(input);
            }

        }
        treeView1.Refresh();

    }

这是我在其他表单上的按钮操作:

    private void button1_Click(object sender, EventArgs e)
    {
        if (!(String.IsNullOrEmpty(getnamebox.Text))) ;
        {
            mainDisplay putdata = new mainDisplay();

            name = getnamebox.Text;
            pass = getpassbox.Text;
            url = geturlbox.Text;
            notes = getnotebox.Text;

            data newData = new data(name, pass, notes);
            mainDisplay.mydata1.Add(newData);

            TreeNode mytree = new TreeNode(name);
            putdata.mainDisplay_Load(mytree);

            this.Hide();

        }

任何提示将不胜感激。

4

1 回答 1

1

您刚刚在某处(在内存中)创建了一个全新的主显示表单,并向其中添加了一个树节点。

您需要将主显示的引用向前传递(通常在初始化函数中或根据您的东西的设置方式追溯您的第二个表单的父级),然后使用对实际主表单的引用来更新树。

于 2013-05-17T21:48:12.123 回答