VB.net中ContextMenuStrip的改变值问题

菖蒲老先生 菖蒲老先生 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

前提:
一个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()方法之类的。
...全文
评论 5
收藏 已收藏
分享
返回顶部
菖蒲老先生
VB 16,718 成员 110,520 内容