VB.net中ContextMenuStrip的改变值问题
前提:
一个treeview如下:
ROOT
nodeA
nodeB
然后ContextMenuStrip中有两个菜单项【edit】和【delete】。
要求:
右击【ROOT】节点时,菜单项【edit】和【delete】的Enabled = False,不可用
右击子节点【nodeA】或【nodeB】时,菜单项【edit】和【delete】的Enabled = True,可用
代码:
contextMenuStrip.Items.Item("edit").Enabled = False
contextMenuStrip.Items.Item("delete").Enabled = False
【ROOT】.ContextMenuStrip = contextMenuStrip
contextMenuStrip.Items.Item("edit").Enabled = True
contextMenuStrip.Items.Item("delete").Enabled = True
【nodeA】.ContextMenuStrip = contextMenuStrip
【nodeB】.ContextMenuStrip = contextMenuStrip
最后效果是【ROOT】节点的两个菜单项也可用了。
原因应该就是 ContextMenuStrip 是引用型对象。
请问如何解决这个问题,有没有类似java中的BeanUtils.copyProperties()方法之类的。
...全文


