C#自定义控件实现窗体绘制表格

一、自定义窗体控件

      新建项目 如图C#自定义控件实现窗体绘制表格_第1张图片


二、绘制表格

                                                                           C#自定义控件实现窗体绘制表格_第2张图片


三、绘制表格的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsControlLibrary1
{
    public partial class UserControl1: UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        private void Form_Paint(object sender, PaintEventArgs e)
        {
            //绘制表格
            Graphics g = this.CreateGraphics();
            Pen pen0 = new Pen(Color.White,3);  //设置画笔颜色和Pen_Size =3
            //横向
            for (int x = 0; x <= 896; )
            {
                g.DrawLine(pen0, x, 0, x, 768);
                x += 16;
            }
            //纵向
            for (int y = 0; y <= 768; )
            {
                g.DrawLine(pen0, 0, y, 896, y);
                y += 16;
            }
        }
    }
}


控件效果图如下

C#自定义控件实现窗体绘制表格_第3张图片


四、使用该自定义控件

     1、新建一个winform项目

     2、双击工具箱 如图 选择“选择项”

                                                                                                C#自定义控件实现窗体绘制表格_第4张图片

    3、添加自定义控件到工具箱,点击确定(我已经添加过了)

                                      C#自定义控件实现窗体绘制表格_第5张图片


    4、使用控件 筛选找到添加的控件

                                                                                   C#自定义控件实现窗体绘制表格_第6张图片

 

   5、 拖动到窗体上 ok 点击运行

     C#自定义控件实现窗体绘制表格_第7张图片


   完成


可能有旁友会问,为什么不直接在窗体上绘制,反而多此一举搞个自定义控件呢?

这个问题我也不知道怎么回答,我在做某个项目的时候确实是直接在窗体绘制的,当时窗体上还有一些按钮。我做的项目是需要根据数据在表格上填充颜色的,但是不知道为什么鼠标只要经过按钮等其他控件,整个表格里的数据全都变了。后来自定义控件之后才解决这个问题。

刚接触C#不久,不知道其中道理,还望大牛指点。谢谢~




你可能感兴趣的:(C#)