CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

右键弹出菜单的菜单项不能动态改变?

楼主mynewpc(水中日月)2002-08-27 15:50:20 在 .NET技术 / VB.NET 提问

在treeview上使用右键菜单,需工具选择的项目disable部分菜单项,但没作用,难道右键弹出菜单的菜单项不能动态改变?  
          Private   Sub   device_MouseUp(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   MyBase.MouseUp  
                  If   e.Button   =   MouseButtons.Right   Then  
                          Dim   thispoint   As   New   Point(e.X,   e.Y)  
                              If   Me.TreeView1.SelectedNode.ImageIndex   =   1   Then    
                                Me.TreeView1.ContextMenu.MenuItems(1).Enabled   =   False  
                              End   If  
                          Me.TreeView1.ContextMenu.Show(sender,   thispoint)  
                  Else  
                          End   If  
          End   Sub 问题点数:50、回复次数:5Top

1 楼bigrongshu(Life is full of possibilities)回复于 2002-08-27 16:55:27 得分 15

 
  写一个函数,如  
   
  private   sub   showContextMenu()  
      ContextMunu1.MenuItems.Clear()  
      ContextMunu1.MenuItems.Add("open",   New   System.EventHandler(Address   of   Me.MenuItem1_Click))  
      ContextMunu1.MenuItems.Add......  
  End   Sub  
   
  点击右键时候调用这个函数Top

2 楼dason2u(沧海浪子)回复于 2002-08-27 17:40:02 得分 15

你也可以将ContextMenu的MenuItem定义成模块级变量,然后在某个地方比如Form.Load中添加进ContextMenu的MenuItems集合。  
   
  示例:  
  '窗体类Form1的成员变量:  
  Private   mi   As   New   MenuItem("打开",   New   EventHandler(AddressOf   mi_Click))  
   
  Private   Sub   mi_Click(ByVal   sender   As   Object,   ByVal   e   As   EventArgs)  
          'Handle   Event  
  End   Sub  
   
  'Form.Load:  
  Me.TreeView1.ContextMenu=New   ContextMenu()  
  Me.TreeView1.ContextMenu.MenuItems.Add(Me.mi)  
   
  '捕捉MouseUp事件(根据你的代码来的)  
  If   e.Button   =   MouseButtons.Right   Then  
        Dim   thispoint   As   New   Point(e.X,   e.Y)  
        If   Me.TreeView1.SelectedNode.ImageIndex   =   1   Then    
              Me.mi.Enabled   =   False  
        End   If  
        Me.TreeView1.ContextMenu.Show(sender,   thispoint)  
  Else  
        ......  
  End   If  
   
  你再试试。  
   
   
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  天空没有翅膀的痕迹,         ☆   ∴° / °°   ☆°  
  而我已飞过……         /    / /    ☆.       
                                         / ;         
  为人民服务!                               /         
          ——   By   Dason              ★      
  Top

3 楼mynewpc(水中日月)回复于 2002-08-27 17:55:50 得分 0

试了下不管用,还是开始时定义的菜单.Top

4 楼dason2u(沧海浪子)回复于 2002-08-27 17:56:24 得分 20

致帖主:  
      我在自己的机子上试过,你那种方法也是可以的。你再检查检查吧。  
   
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  天空没有翅膀的痕迹,         ☆   ∴° / °°   ☆°  
  而我已飞过……         /    / /    ☆.       
                                         / ;         
  为人民服务!                               /         
          ——   By   Dason              ★      
  Top

5 楼mynewpc(水中日月)回复于 2002-08-28 08:15:28 得分 0

不能写在mouse   up事件里,写在afterselect事件里就没问题了。谢谢了Top

相关问题

  • 关于光盘右键菜单中的“弹出”菜单项?
  • 如何设置右键弹出菜单项选中状态?
  • 如何使右键弹出菜单项(PopUp Menu)某一项变灰。
  • 怎样让右键弹出的菜单中的菜单项变灰?(答对就给分)
  • 请问怎样在运行期给popubmenu控件(右键弹出菜单控件)增加菜单项?
  • 怎么在word弹出的右键菜单中加上自定义的菜单项
  • 如何在explorer文件中右键弹出菜单中添加自己的菜单项?
  • 在IE右键菜单中添加菜单项的问题
  • 怎样在右键菜单中加入自己的菜单项????
  • 如何在IE右键菜单中添加菜单项?

关键词

  • me
  • 菜单项
  • 右键
  • contextmenu
  • thispoint
  • contextmunu
  • menuitems
  • 菜单
  • treeview
  • mouseup

得分解答快速导航

  • 帖主:mynewpc
  • bigrongshu
  • dason2u
  • dason2u

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo