| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1402 人关注过本帖
标题:如何将线画到容器上(PictureBox)上
只看楼主 加入收藏
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
结帖率:86.96%
收藏
已结贴  问题点数:20 回复次数:6 
如何将线画到容器上(PictureBox)上
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace C
{
    /// <summary>
    /// 棋盘类
    /// </summary>
    class ChessBoard
    {
        public int line = 10;
        public int linespace = 30;
        public int margin = 30 / 2;
        public PictureBox picctrl;

        /// <summary>
        /// 画棋盘
        /// </summary>
        public void ShowChessBoard()
        {
            Pen Mypen = new Pen(Color.Green, 1);
            SolidBrush brush = new SolidBrush(Color.Gold);
            Bitmap bmp = new Bitmap(picctrl.Width,picctrl.Height);
            Graphics gr = Graphics.FromImage(bmp);

            //画横线
            for (int i = 0; i < line; i++)
            {
                gr.DrawLine(Mypen, margin, margin + linespace * i,
                    (line - 1) * linespace + margin, margin + linespace * i);

            }
            //画竖线
            for (int i = 0; i < line; i++)
            {
                gr.DrawLine(Mypen,linespace * i + margin, margin,
                    margin + linespace * i, (line - 1) * linespace + margin);
            }

            picctrl.BackgroundImage = bmp;
        }
    }
}
线已经画好(19*19的方格),现在想把这些线放到容器中(PictureBox)中,不知道怎么放了,麻烦各位兄弟帮帮忙!!!小弟感激不尽...

搜索更多相关主题的帖子: PictureBox 容器 画到 
2010-07-09 09:53
ghl2312
Rank: 4
等 级:业余侠客
威 望:2
帖 子:208
专家分:226
注 册:2008-7-10
收藏
得分:0 
在picturebox的onpaint事件中去画。

向灰太狼学习
2010-07-09 10:11
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:10 
程序代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace GetHdc_Test
{
    /// <summary>
    /// 棋盘类
    /// </summary>
    public class ChessBoard
    {
        public int line = 10;
        public int linespace = 30;
        public int margin = 30 / 2;
        public PictureBox picctrl;

        public ChessBoard(PictureBox picbox)
        {
            picctrl = picbox;
        }

        /// <summary>
        /// 画棋盘
        /// </summary>
        public void ShowChessBoard()
        {
            Pen Mypen = new Pen(Color.Green, 1);
            SolidBrush brush = new SolidBrush(Color.Gold);
            Bitmap bmp = new Bitmap(picctrl.Width, picctrl.Height);
            Graphics gr = Graphics.FromImage(bmp);

            //画横线
            for (int i = 0; i < line; i++)
            {
                gr.DrawLine(Mypen, margin, margin + linespace * i,
                    (line - 1) * linespace + margin, margin+ linespace * i);

            }
            //画竖线
            for (int i = 0; i < line; i++)
            {
                gr.DrawLine(Mypen, linespace * i + margin, margin,
                    margin + linespace * i, (line - 1) * linespace + margin);
            }

            picctrl.BackgroundImage = bmp;
        }
    }

}


调用:
 ChessBoard cb = new ChessBoard(pictureBox1);

 cb.ShowChessBoard();

飘过~~
2010-07-09 10:16
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
收藏
得分:0 
回复 2楼 ghl2312
哥,  没找到picturebox的onpaint事件 ???
2010-07-09 10:16
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
晕,不可以发附件了。

事件列表中,Paint

飘过~~
2010-07-09 10:19
ghl2312
Rank: 4
等 级:业余侠客
威 望:2
帖 子:208
专家分:226
注 册:2008-7-10
收藏
得分:10 
应该是Paint事件,查MSDN。

向灰太狼学习
2010-07-09 10:20
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
收藏
得分:0 
谢谢各位大哥,现在弄好了...
呵呵...
2010-07-09 10:26
快速回复:如何将线画到容器上(PictureBox)上
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030524 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved