C#
private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
//如何判断是父级还是子级
if (tnPublic.Tag != null && tnPublic.Tag.ToString() != "")
{
if (tnPublic.Nodes.Count == 0 && int.Parse(tnPublic.Tag.ToString()) != 0)
{
//是子级
if (e.ClickedItem.Text == "添加")
{
TreeNode tn = new TreeNode();
tn.Text = "新建节点";
tnPublic.Nodes.Add(tn);
tnPublic.ExpandAll();
this.TreeContext.LabelEdit = true;
tn.BeginEdit();
newText
//此时节点的新名称保存在newText变量中
//界面上添加完之后,需要在数据库里插入一条记录
//这边写插入数据库的代码
//数据库提交完之后再执行BindTreeView();方法
}
if (e.ClickedItem.Text == "删除")
{
int id = int.Parse(tnPublic.Tag.ToString());//保存选中节点的ID,以便用来删除数据库中的记录
TreeNode tn = tnPublic.Parent;
tn.Nodes.Remove(tnPublic);
//在treeview中删除了节点之后,并没有删除数据库中的相应数据,那么在删除完了之后,还需要对数据库里相应的数据进行删除
//数据库提交完之后再执行BindTreeView();方法
}
if (e.ClickedItem.Text == "修改")
{
this.TreeContext.LabelEdit = true;
tnPublic.ExpandAll();
tnPublic.BeginEdit();
//此时节点的新名称保存在newText变量中
//界面上修改完之后,需要对数据库进行相应的更改
//数据库里的数据插入完之后
//数据库提交完之后再执行BindTreeView();方法
}
}
else
{
//是父级
if (e.ClickedItem.Text == "添加")
{
TreeNode tn = new TreeNode();
tn.Text = "新建节点";
tnPublic.Nodes.Add(tn);
tnPublic.ExpandAll();
this.TreeContext.LabelEdit = true;
tn.BeginEdit();
//此时节点的新名称保存在newText变量中
//界面上添加完之后,需要在数据库里插入一条记录
//这边写插入数据库的代码
//数据库提交完之后再执行BindTreeView();方法
}
if (e.ClickedItem.Text == "删除")
{
int id = int.Parse(tnPublic.Tag.ToString());//保存选中节点的ID,以便用来删除数据库中的记录
TreeNode tn = tnPublic.Parent;
tn.Nodes.Remove(tnPublic);
//在treeview中删除了节点之后,并没有删除数据库中的相应数据,那么在删除完了之后,还需要对数据库里相应的数据进行删除
//数据库提交完之后再执行BindTreeView();方法
}
if (e.ClickedItem.Text == "修改")
{
this.TreeContext.LabelEdit = true;
tnPublic.ExpandAll();
tnPublic.BeginEdit();
//此时节点的新名称保存在newText变量中
//界面上修改完之后,需要对数据库进行相应的更改