CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

菜单事件中的函数名如何用变量代替?

楼主qinshihuang2222(秦始皇)2004-04-04 11:26:01 在 .NET技术 / C# 提问

菜单事件中的函数名如何用变量代替?如  
  menuItem1.Click   +=   new   System.EventHandler(this.menuItem1_Click);  
  改写成  
  string   aa="menuItem1_Click";  
  menuItem1.Click   +=   new   System.EventHandler(aa);  
  用途:  
  想在循环中动态创建各个菜单项。 问题点数:20、回复次数:3Top

1 楼qinshihuang2222(秦始皇)回复于 2004-04-04 17:51:02 得分 0

顶Top

2 楼Smartdoggie(destination)回复于 2004-04-04 20:37:39 得分 10

可以参考一下这个示例:  
  using   System;  
   
  delegate   void   MyDelegate(string   s);                                                                 //Note   here  
  class   MyClass  
  {  
          public   static   void   Hello(string   s)  
          {  
                  Console.WriteLine("     Hello,   {0}!",   s);  
          }  
   
          public   static   void   Goodbye(string   s)  
          {  
                  Console.WriteLine("     Goodbye,   {0}!",   s);  
          }  
   
          public   static   void   Main()  
          {  
                  MyDelegate   a,   b,   c,   d;                                                                           //Here  
   
                  //   Create   the   delegate   object   a   that   references    
                  //   the   method   Hello:  
                  a   =   new   MyDelegate(Hello);                                                                   //And   here  
                  //   Create   the   delegate   object   b   that   references    
                  //   the   method   Goodbye:  
                  b   =   new   MyDelegate(Goodbye);  
                  //   The   two   delegates,   a   and   b,   are   composed   to   form   c:    
                  c   =   a   +   b;  
                  //   Remove   a   from   the   composed   delegate,   leaving   d,    
                  //   which   calls   only   the   method   Goodbye:  
                  d   =   c   -   a;  
   
                  Console.WriteLine("Invoking   delegate   a:");  
                  a("A");  
                  Console.WriteLine("Invoking   delegate   b:");  
                  b("B");  
                  Console.WriteLine("Invoking   delegate   c:");  
                  c("C");  
                  Console.WriteLine("Invoking   delegate   d:");  
                  d("D");  
          }  
  }  
  Top

3 楼zhzuo(秋枫)回复于 2004-04-04 22:32:24 得分 10

如上,使用delegate,  
  public   void   delegate   MenuItemClickHandler(object   sender,   System.EventArgs   e);  
  MenuItemClickHandler   myClickeMethed   =   new   MenuItemClickHandler(this.menuItem1_Click);  
  menuItem1.Click   +=   new   System.EventHandler(this.menuItem1_Click);  
  修改为  
  menuItem1.Click   +=   new   System.EventHandler(myClickeMethed);  
  Top

相关问题

  • 如何写一个函数将divname用变量代替啊
  • 变量分配函数
  • format函数中,确定浮点数精度的(如.3f中的3),能不能用变量代替?
  • 类的static变量与函数
  • 关于变量的函数的问题?
  • 变量,函数的作用域?
  • 关于函数返回局部变量
  • 自动显示变量,成员函数
  • 寄存器变量,内联函数
  • 关于函数内变量的问题

关键词

  • delegate
  • goodbye
  • mydelegate
  • menuitem1
  • writeline
  • invoking
  • console
  • click
  • hello
  • method

得分解答快速导航

  • 帖主:qinshihuang2222
  • Smartdoggie
  • zhzuo

相关链接

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

广告也精彩

反馈

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