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

Button[] x, 如何。。。

楼主sarcophile(食肉动物)2005-01-02 15:38:03 在 .NET技术 / C# 提问

x   =   new   Button[100];  
  for(int   i=0;i<100;i++)  
  {  
  x[i].Click   +=   .......     //   此处想为每一个   x   单独添加一个事件处理函数,如何实现?  
   
  如果所有   x   都用同一个处理函数,在函数中能否区分   i=? 问题点数:50、回复次数:6Top

1 楼winxieddd(一剑飘香)回复于 2005-01-02 15:48:00 得分 15

区分不了,但你可以用其他方法。譬如:把i值记录到button的Tag属性里面。这里,你就可以区分了。Top

2 楼sarcophile(食肉动物)回复于 2005-01-02 16:13:06 得分 0

为每一个   x   单独添加一个事件处理函数,   也没有简便的方法Top

3 楼sarcophile(食肉动物)回复于 2005-01-02 16:13:47 得分 0

为每一个   x   单独添加一个事件处理函数,   也没有简便的方法   ?  
  Top

4 楼popcorn(米花.珠海)回复于 2005-01-02 16:23:20 得分 10

只能用一个事件处理函数,不过可以在函数里面判断是哪个BUTTON触发的事件:  
  private   void   button_Click(object   sender,   System.EventArgs   e)  
  {  
        Button   button   =   (Button)sender;  
        MessageBox.Show(button.Text);  
  }Top

5 楼winxieddd(一剑飘香)回复于 2005-01-02 16:53:26 得分 25

用代理数组:  
  using   System;  
  using   System.Drawing;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Windows.Forms;  
  using   System.Data;  
   
  namespace   WindowsApplication4  
  {  
  ///   <summary>  
  ///   Form1   的摘要说明。  
  ///   </summary>  
  public   class   Form1   :   System.Windows.Forms.Form  
  {  
  private   System.Windows.Forms.Button   button1;  
  private   System.Windows.Forms.Button   button2;  
  private   System.Windows.Forms.Button   button3;  
  private   System.Windows.Forms.Button   button4;  
  private   EventHandler   []     buttonClick   =   new   EventHandler[4];    
  ///   <summary>  
  ///   必需的设计器变量。  
  ///   </summary>  
  private   System.ComponentModel.Container   components   =   null;  
   
  public   Form1()  
  {  
  //  
  //   Windows   窗体设计器支持所必需的  
  //  
  InitializeComponent();  
  this.buttonClick[0]   =   new   EventHandler(this.button1_Click);  
  this.buttonClick[1]   =   new   EventHandler(this.button2_Click);  
  this.buttonClick[2]   =   new   EventHandler(this.button3_Click);  
  this.buttonClick[3]   =   new   EventHandler(this.button4_Click);  
   
  //你可以在此新建按钮,然后用循环。  
  this.button1.Click   +=this.buttonClick[0];  
  this.button2.Click   +=this.buttonClick[1];  
  this.button3.Click   +=this.buttonClick[2];  
  this.button4.Click   +=this.buttonClick[3];  
   
  //  
  //   TODO:   在   InitializeComponent   调用后添加任何构造函数代码  
  //  
  }  
   
  ///   <summary>  
  ///   清理所有正在使用的资源。  
  ///   </summary>  
  protected   override   void   Dispose(   bool   disposing   )  
  {  
  if(   disposing   )  
  {  
  if   (components   !=   null)    
  {  
  components.Dispose();  
  }  
  }  
  base.Dispose(   disposing   );  
  }  
   
  #region   Windows   窗体设计器生成的代码  
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {  
  this.button1   =   new   System.Windows.Forms.Button();  
  this.button2   =   new   System.Windows.Forms.Button();  
  this.button3   =   new   System.Windows.Forms.Button();  
  this.button4   =   new   System.Windows.Forms.Button();  
  this.SuspendLayout();  
  //    
  //   button1  
  //    
  this.button1.Location   =   new   System.Drawing.Point(24,   24);  
  this.button1.Name   =   "button1";  
  this.button1.TabIndex   =   0;  
  this.button1.Text   =   "button1";  
  //    
  //   button2  
  //    
  this.button2.Location   =   new   System.Drawing.Point(128,   24);  
  this.button2.Name   =   "button2";  
  this.button2.TabIndex   =   1;  
  this.button2.Text   =   "button2";  
  //    
  //   button3  
  //    
  this.button3.Location   =   new   System.Drawing.Point(24,   80);  
  this.button3.Name   =   "button3";  
  this.button3.TabIndex   =   2;  
  this.button3.Text   =   "button3";  
  //    
  //   button4  
  //    
  this.button4.Location   =   new   System.Drawing.Point(128,   80);  
  this.button4.Name   =   "button4";  
  this.button4.TabIndex   =   3;  
  this.button4.Text   =   "button4";  
  //    
  //   Form1  
  //    
  this.AutoScaleBaseSize   =   new   System.Drawing.Size(6,   14);  
  this.ClientSize   =   new   System.Drawing.Size(292,   266);  
  this.Controls.Add(this.button4);  
  this.Controls.Add(this.button3);  
  this.Controls.Add(this.button2);  
  this.Controls.Add(this.button1);  
  this.Name   =   "Form1";  
  this.Text   =   "Form1";  
  this.ResumeLayout(false);  
   
  }  
  #endregion  
   
  ///   <summary>  
  ///   应用程序的主入口点。  
  ///   </summary>  
  [STAThread]  
  static   void   Main()    
  {  
  Application.Run(new   Form1());  
  }  
   
   
                 
   
  private   void   button1_Click(object   sender,   System.EventArgs   e)  
  {  
  MessageBox.Show("1");  
   
  }  
   
  private   void   button2_Click(object   sender,   System.EventArgs   e)  
  {  
  MessageBox.Show("2");  
   
  }  
   
  private   void   button3_Click(object   sender,   System.EventArgs   e)  
  {  
  MessageBox.Show("3");  
   
  }  
   
  private   void   button4_Click(object   sender,   System.EventArgs   e)  
  {  
  MessageBox.Show("4");  
   
  }  
  }  
  }  
  Top

6 楼sarcophile(食肉动物)回复于 2005-01-02 17:02:08 得分 0

(一剑飘香)   的答案是我想要的,谢谢!  
  也谢谢楼上两位Top

相关问题

  • 如何启动x-windows??
  • 如何打开.x文件?
  • 如何卸载Direct X
  • 如何注册Active X ??????????????????
  • 如何配置X界面
  • 如何破解JBUILDER X?
  • x
  • 如何解方程 f(x)+sin(x)=0(f(x)是二次的多项式)
  • 如何判断Button是否被按下过?如何不让通过alt+f4和右上角的X关闭程序?
  • 当x为空y不为空时,如何求出sum(x+y)?

关键词

  • 代码
  • button
  • buttonclick
  • eventhandler
  • click
  • disposing
  • tabindex
  • eventargs e
  • drawing
  • 设计器

得分解答快速导航

  • 帖主:sarcophile
  • winxieddd
  • popcorn
  • winxieddd

相关链接

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

广告也精彩

反馈

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