CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何在在窗体中得到菜单的name属性值

楼主zhangjj2(大大嘴)2003-09-03 21:40:31 在 .NET技术 / VB.NET 提问

如何才能载窗体中通过以下循环方式:  
              Dim   menu   As   MenuItem  
              dim   frm   as   new   frmmain()'frmmain是包含菜单的主窗体,这段代码在其他窗'体中编写  
                For   Each   menu   In   frm.MainMenu.MenuItems(0).MenuItems  
                      ???在这里想通过menu来得到这个menuitem所代表的菜单项的name属性??  
                  Next  
  问题点数:40、回复次数:2Top

1 楼Montaque(每天回答两个问题)回复于 2003-09-04 08:10:44 得分 40

呵呵,MenuItem没有name属性,你可以判断Menu的Text属性。或者你可以自定义一个MenuItemEx,继承menuitem,加上一个属性。  
   
  Public   Class   MenuItemEx  
          Inherits   MenuItem  
   
          Private   _PathName   As   String   '收藏家的目录,多一个属性用于记录菜单象的路径。  
   
          Sub   New()  
                  MyBase.New()  
          End   Sub  
          Sub   New(ByVal   text   As   String)  
                  MyBase.New(text)  
          End   Sub  
   
          Sub   New(ByVal   text   As   String,   ByVal   onClick   As   System.EventHandler)  
                  MyBase.New(Text,   onClick)  
          End   Sub  
          Public   Property   PathName()   As   String  
                  Get  
                          Return   _PathName  
                  End   Get  
                  Set(ByVal   Value   As   String)  
                          _PathName   =   Value  
                  End   Set  
   
          End   Property  
   
   
   
  End   Class  
  Top

2 楼Montaque(每天回答两个问题)回复于 2003-09-04 08:11:39 得分 0

我整理的一个生成ie的Favorites的菜单程序。  
   
  Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click  
                  Dim   myFavouriteMenu   As   New   MenuItemEx("Favouriate   Menu")  
                  Dim   MyMainMenu   As   New   MainMenu  
                  TranvsFavouriteToAMenu(System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites),   myFavouriteMenu)  
                  MyMainMenu.MenuItems.Add("Test").MenuItems.Add(myFavouriteMenu)  
                  Me.Menu   =   MyMainMenu  
          End   Sub  
   
          Private   Sub   TranvsFavouriteToAMenu(ByVal   sPath   As   String,   ByVal   ParentMenuItem   As   MenuItemEx)  
                  '处理文件  
   
                  Dim   sDir   As   String  
                  For   Each   sDir   In   System.IO.Directory.GetDirectories(sPath)  
                          Dim   MenuItem1   As   New   MenuItemEx(sDir.Substring(sDir.LastIndexOf("\")   +   1))   '.  
                          ParentMenuItem.MenuItems.Add(MenuItem1)  
                          TranvsFavouriteToAMenu(sDir,   MenuItem1)  
                  Next  
                  Dim   sFile   As   String  
                  For   Each   sFile   In   System.IO.Directory.GetFiles(sPath,   "*.url")  
                          Dim   MenuItem1   As   New   MenuItemEx(sFile.Substring(sFile.LastIndexOf("\")   +   1,   sFile.LastIndexOf(".")   -   sFile.LastIndexOf("\")   -   1),   AddressOf   MenuItem_Click)  
                          MenuItem1.PathName   =   sFile.Substring(0,   sFile.LastIndexOf("\")   +   1)  
                          ParentMenuItem.MenuItems.Add(MenuItem1)  
                  Next  
          End   Sub  
   
          '执行连接  
          Private   Sub   MenuItem_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)  
                  '          
                  Dim   MenuItem1   As   MenuItemEx   =   CType(sender,   MenuItemEx)  
                  Dim   sUrl   As   String  
                  'get   the   website  
                  Dim   fs   As   New   System.IO.FileStream(MenuItem1.PathName   &   MenuItem1.Text   &   ".url",   IO.FileMode.Open)  
                  Dim   sr   As   New   System.IO.StreamReader(fs)  
                  sr.ReadLine()  
                  sUrl   =   sr.ReadLine()  
                  sUrl   =   sUrl.Substring(sUrl.ToUpper.IndexOf("HTTP://"))   '这里忽略其他协议,比如ms-help  
                  System.Diagnostics.Process.Start(sUrl)  
   
          End   Sub  
  End   Class  
  Public   Class   MenuItemEx  
          Inherits   MenuItem  
   
          Private   _PathName   As   String   '收藏家的目录,多一个属性用于记录菜单象的路径。  
   
          Sub   New()  
                  MyBase.New()  
          End   Sub  
          Sub   New(ByVal   text   As   String)  
                  MyBase.New(text)  
          End   Sub  
   
          Sub   New(ByVal   text   As   String,   ByVal   onClick   As   System.EventHandler)  
                  MyBase.New(Text,   onClick)  
          End   Sub  
          Public   Property   PathName()   As   String  
                  Get  
                          Return   _PathName  
                  End   Get  
                  Set(ByVal   Value   As   String)  
                          _PathName   =   Value  
                  End   Set  
   
          End   Property  
   
   
   
  End   Class  
  Top

相关问题

  • 子窗体修改父窗体的菜单属性,在线等,有答案立即给分。
  • 请大哥大姐帮帮忙,要怎么才可以,最好的方法用子窗体修改父窗体的菜单属性呢,使主窗体菜单有效..
  • 如何用子窗体控制mdi主窗体的属性?
  • 窗体二中调用窗体一的属性
  • 创建窗体后无法更改新窗体属性……
  • 如何获取MDI子窗体的父窗体属性?
  • 请问:窗体Form的属性?
  • 窗体的Tag属性问题
  • 窗体icon属性的设置???
  • 创建子窗体,父窗体INCLUDE 子窗体.H,而子窗体菜单共用父窗体一些菜单功能时,又要INCLUDE 父窗体.H

关键词

  • 属性
  • menuitemex
  • menuitem
  • 窗体
  • sfile
  • myfavouritemenu
  • mymainmenu
  • parentmenuitem
  • tranvsfavouritetoamenu
  • byval

得分解答快速导航

  • 帖主:zhangjj2
  • Montaque

相关链接

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

广告也精彩

反馈

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