按钮在树视图中命名和创建父节点

本文关键字:创建 父节点 视图 按钮 | 更新日期: 2023-09-27 18:11:36

我正在寻找一个名为new的按钮。使用click事件,首先应该有一个弹出窗口(有点像消息框?虽然它必须请求一个名称)。

在用户输入名称并按ok后,它应该在treeview中创建该名称的父节点。此外,取消按钮应该关闭弹出窗口。

我应该制作另一种形式还是有更简单的方法?任何建议/代码都会有很大帮助。

按钮在树视图中命名和创建父节点

我选择走另一条表单路线。我制作了初始表单(form1),其中包含一个树视图控件和一个标记为"new"的按钮。

然后我创建了一个表单,让用户输入节点的名称。这个表单有标签、文本框、确定按钮和取消按钮。

下面是NodeNameDialog表单的代码:
using System;
using System.Windows.Forms;
namespace TreeViewExample
{
    public partial class NodeNameDialog : Form
    {
        public NodeNameDialog()
        {
            InitializeComponent();
        }
        private void btnOk_Click(object sender, EventArgs e)
        {
            NodeName = txtNodeName.Text ?? string.Empty;
            DialogResult = DialogResult.OK;
        } 
        private void btnCancel_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;
        }
        public string NodeName { get; set; }
    }
}

然后在原始表单中,在新的按钮单击事件中,我将节点表单作为对话框调用。代码如下:

using System;
using System.Windows.Forms;
namespace TreeViewExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void btnNew_Click(object sender, EventArgs e)
        {
            var nodeDialog = new NodeNameDialog();
            var result = nodeDialog.ShowDialog();
            if (result == DialogResult.OK)
                treeView1.Nodes.Add(nodeDialog.NodeName);
        }
    }
}

我最初包括图像,但我的代表还不够高。希望这对你有帮助!

*为简单起见,我省略了大部分验证