基于c#winform的九九乘法表

最近做作业时候做到了基于c#窗体的九九乘法表,在此做个总结,方便大家交流使用。

制作思路为自定义一些lable控件,控件上显示乘法表的内容,在点击对应的内容时出现结果。

运行结果:

U{$$~IDSWBK8EOEZ2Z}[20O

点击时效果:

4792D(ORS))61NK8[%@XK0T

窗体加载时:

QQ截图20141229170735

 

点击label时:

2

 

完整代码:

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

posted @ 2014-12-29 20:36  布拉格的小调  阅读(1425)  评论(0编辑  收藏  举报