C#中动态创建控件及事件处理程序

王朝c#·作者佚名  2008-05-19
宽屏版  字体: |||超大  

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

namespace Miner

{

/// <summary

/// Summary des cription for Form1.

/// </summary

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.Panel panel1;

/// <summary

/// Required designer variable.

/// </summary

///

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

//

}

/// <summary

/// Clean up any resources being used.

/// </summary

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

/// <summary

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary

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

/// <summary

/// The main entry point for the application.

/// </summary

[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");

}

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有