C# 绘制方格方阵

像这样的,每个格子都可以改变颜色的... 像这样的,每个格子都可以改变颜色的 展开
 我来答
百度网友ce7f3ccb4
2015-06-15 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1897万
展开全部

使用GDI+画一下就是了,很简单的!!

  //模拟颜

        private List<Color> colors = new List<Color> {Color.Blue, Color.Black,Color.White };

        protected const int xNum = 10;

        protected const int yNum = 10;

        protected int cxBlock = 60, cyBlock = 40;

        protected bool[,] abChecked = new bool[yNum, xNum];

        protected int[,] abCheckedColor = new int[yNum, xNum];

        //窗体的绘制事件

        private void Form1_Paint(object sender, PaintEventArgs e)

        {

            try

            {

                Graphics g = e.Graphics;

                Pen pen = new Pen(Color.FromArgb(0, 0, 0));

                for (int y = 0; y < yNum; y++)

                    for (int x = 0; x < xNum; x++)

                    {

                        g.FillRectangle(new SolidBrush(colors[abCheckedColor[y, x]]),x * cxBlock, y * cyBlock, cxBlock, cyBlock);

                        g.DrawRectangle(pen, x * cxBlock, y * cyBlock, cxBlock, cyBlock);

                        abCheckedColor[y, x] = abCheckedColor[y, x] + 1 > 2 ? 0 : abCheckedColor[y, x] + 1;

                    }

            }

            catch (Exception ex) 

            {

                MessageBox.Show(ex.ToString());

            }

        }

        //窗体的鼠标释放事件

        private void Form1_MouseUp(object sender, MouseEventArgs e)

        {

            int x = e.X / cxBlock;

            int y = e.Y / cyBlock;

            Invalidate(new Rectangle(x * cxBlock, y * cyBlock, cxBlock, cyBlock));

        }

给你个例子吧!!明天就失效了!!

追问
就是这样,虽然不是很懂,我先看看吧,谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式