基于c#winform的九九乘法表
基于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