基于c#winform的九九乘法表
最近做作业时候做到了基于c#窗体的九九乘法表,在此做个总结,方便大家交流使用。
制作思路为自定义一些lable控件,控件上显示乘法表的内容,在点击对应的内容时出现结果。
运行结果:
点击时效果:
窗体加载时:
点击label时:
完整代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 乘法表
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Label[] lab = new Label[100];
private void OnClick(object sender, EventArgs e) //点击出现结果
{
String k = ((Label)sender).Text; //如果出现结果,再次点击则返回
if (k.Length > 5)
return;
String jieguo = ((Label)sender).Name; //每个lable的name为该lable所处位置 在窗体加载时就对label进行设置
string aa =Convert.ToString( jieguo[0]);
int a = Convert.ToInt32(aa);
string bb = Convert.ToString(jieguo[1]);
int b = Convert.ToInt32(bb);
int c = a * b;
((Label)sender).Text += " = " + c.ToString();
}
String s = "";
private void Form1_Load(object sender, EventArgs e)
{
this.Width = 800; //窗体的宽
this.Height = 600; //窗体的高
this.BackColor = Color.White; //窗体的背景色a
int w = 80; //控件的宽度
int h = 50; //控件的高度
for (int i = 1; i < 10; i++) //9行
{
for (int j = i * 10+1; j < i * 10 + i+1; j++) //每行个数
{
lab[j] = new Label();
if (j > i * 10+1)
{
lab[j].Left = lab[j - 1].Left + w; //空间呢位置
}
else
{
lab[j].Left = 30; //第一列左边距
}
s = Convert.ToString(j);
lab[j].Name = s; //控件的name
lab[j].Text = s[1]+" * "+(s[0]); //控件上显示的字
lab[j].Width = w; //控件的宽
lab[j].Height = h; //控件的高
lab[j].BackColor = Color.HotPink; //label的背景色
lab[j].Top = (j / 10) * h; //控件的上边距
this.Controls.Add(lab[j]); //加入此控件
lab[j].Click += new EventHandler(OnClick); //点击事件
}
}
}
}
}
源代码下载路径:http://pan.baidu.com/s/1i3mVWC9