C#实现Visual Studio 2003样式菜单

VS2003自带的菜单说实在的。。。土,太土了,掉渣的土啊~~(-_-b),VS2005里的漂亮,可是公司用的03(哭一个),没办法,发扬懒人精神,找现成的(^_^)嘿嘿。。。。

说干就干,在网上查了一下,有很多实现带图标菜单的例子和源代码,大概看了几个,都不是很满意,虽然都实现了图标,SideBar的功能,可是却没有找到一个解决(&)助记符的问题,都是直接将(&)显示出来,不做处理(也可能是我笨,没有找到,呵呵~希望高人们不要扔我鸡蛋哦~),没有办法,只好自己参考各位高人的代码,写了一个VS2003风格的MenuItem,在这里先要谢谢这些高人了(^_^),如果哪位高人在下边的源码里发现自己代码的痕迹的话,希望不要告我哦~

好了,转入正题~

先来看一下最终效果~

目前这个MenuItem并不是很完美,还不能显示单选和复选状态(因为公司的程序里没有用到,所以偷了一个小懒,见量见量~^_^),以后有机会的话再补上吧~

说明见代码里的注释,帖出完整代码(^_^):

================================================================

using System;
using System.ComponentModel;
using System.Collections;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;

namespace Snowfox.Common.ComCtl
{
 
/// <summary>
 
/// 实现Visual Studio 2003风格菜单
 
/// </summary>

 public class zxMenuItem : MenuItem
 
{
  
/// <summary>
  
/// 必需的设计器变量。
  
/// </summary>

  private System.ComponentModel.Container components = null;

  
/// <summary>
  
/// 菜单项显示的图像
  
/// </summary>

  public Image ItemIcon = null;

  
私有字段

  
构造函数

  
/// <summary> 
  
/// 清理所有正在使用的资源。
  
/// </summary>

  protected override void Dispose( bool disposing )
  
{
   
if( disposing )
   
{
    
if(components != null)
    
{
     components.Dispose();
    }

   }

   
base.Dispose( disposing );
  }



  
组件设计器生成的代码

  
重写方法

  
辅助方法
 }

}

====================================================================

转载请注明出处~谢谢~^_^

 

posted @ 2007-02-10 12:18  snowfoxzx  阅读(1359)  评论(2编辑  收藏  举报