C#中動態建立控制項及事件處理常式

來源:互聯網
上載者:User
文章目錄
  • C#中動態建立控制項及事件處理常式
C#中動態建立控制項及事件處理常式 2006-05-11 15:49

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

namespace Miner
{
///
/// Summary des cription for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
 private System.Windows.Forms.Panel panel1;
 ///
 /// Required designer variable.
 ///
 ///

 private Button[] n =new Button[100];
 private int[] kn=new int[100];

 private System.ComponentModel.Container components = null;

 public Form1()
 {
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent();

  //
  // TODO: Add any constructor code after InitializeComponent call
  //
 }

 ///
 /// Clean up any resources being used.
 ///
 protected override void Dispose( bool disposing )
 {
  if( disposing )
  {
  if (components != null)
  {
   components.Dispose();
  }
  }
  base.Dispose( disposing );
 }

 #region Windows Form Designer generated code
 ///
 /// Required method for Designer support - do not modify
 /// the contents of this method with the code editor.
 ///
 private void InitializeComponent()
 {
  this.panel1 = new System.Windows.Forms.Panel();
  this.SuspendLayout();
  //
  // panel1
  //
  this.panel1.Location = new System.Drawing.Point(8, 8);
  this.panel1.Name = "panel1";
  this.panel1.Size = new System.Drawing.Size(400, 400);
  this.panel1.TabIndex = 0;
  //
  // Form1
  //
  this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  this.BackColor = System.Drawing.Color.White;
  this.ClientSize = new System.Drawing.Size(416, 413);
  this.Controls.AddRange(new System.Windows.Forms.Control[] {
          this.panel1});
  this.Name = "Form1";
  this.Text = "Form1";
  this.Load += new System.EventHandler(this.Form1_Load);
  this.ResumeLayout(false);

 }
 #endregion

 ///
 /// The main entry point for the application.
 ///
 [STAThread]
 static void Main()
 {
  Application.Run(new Form1());
 }

 private void Form1_Load(object sender, System.EventArgs e)
 {
  int a=0;
  int x=0,y=0;
  for (a=0;a<=99;a++)
  {
  n[a] = new Button();
  n[a].BackColor =Color.White;
  n[a].FlatStyle = FlatStyle.Flat;
  n[a].Width = panel1.Width / 10;
  n[a].Left = x * n[a].Width;
  n[a].Height = panel1.Height / 10;
  n[a].Top = y * n[a].Height;
  n[a].Name = "b" + a;
  panel1.Controls.Add(n[a]);
  panel1.Controls[a].MouseDown  += new MouseEventHandler(this.ButtonArray_OnClick);
  
  

  x += 1;
  if (x == 10)
  {
   x = 0;
   y += 1;
  }
  }

 

 }

 private void ButtonArray_OnClick(object sender, MouseEventArgs e)
 {
  MouseEventArgs arg=(MouseEventArgs)e;
      Button b1=(Button)sender;
  if (arg.Button==MouseButtons.Right )
  b1.BackColor=Color.White ;
  else
  {
  //b1.BackColor =Color.White ;
  b1.Image=Image.FromFile("f:\\my documents\\my pictures\\elements\\regular_smile.gif");
  }
 
 }
}
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.