为一个关卡中的所有节点设置ContextMenuStrip
本文关键字:节点 ContextMenuStrip 设置 一个 | 更新日期: 2023-09-27 18:11:49
我真的很难想出一个聪明的方法来为正确的节点设置正确的ContextMenuStrip。我有一个树视图与3个级别。与它一起,我有3个不同的contextmenustrip,我已经创建,每一个尊重的水平。有没有什么简单的方法或者技巧可以解决这个问题?
也有一种方法有它,所以右键单击一个节点使其选定的节点?或者aka的作用与左键点击相同。
很抱歉,但我想如果有人对这个话题有足够的了解,可以解决我的一个问题,那么他们很有可能也会知道第二个问题。
编辑:我用这行代码找到了第二个问题的解决方案:
treeView.NodeMouseClick += (sender, args) => treeView.SelectedNode = args.Node;
使用NodeMouseClick事件设置所选节点的ContextMenuStrip属性:
void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
if (e.Button == MouseButtons.Right) {
treeView1.SelectedNode = e.Node;
}
if (e.Node.Level == 0) {
e.Node.ContextMenuStrip = cms1;
} else if (e.Node.Level == 1) {
e.Node.ContextMenuStrip = cms2;
} else if (e.Node.Level == 2) {
e.Node.ContextMenuStrip = cms3;
}
}