zoukankan      html  css  js  c++  java
  • Winform在控件内实现简单画笔功能

    using System.Drawing;
    using System.Windows.Forms;
    
    namespace ZhuoHuiSchoolroom.ZhuoHuiClass
    {
        /// <summary>
        /// 实现窗体内简单画笔功能
        /// </summary>
        public class DrawClass
        {
            private Color __Color = new Color();
            private Point __Start = new Point();
            private Point __End = new Point();
            private Form __frmMain = new Form();
            private PictureBox __picMain = new PictureBox();
            private Graphics __g = null;
            private Pen __p = null;
    
            public Color Color
            {
                get { return this.__Color; }
                set { this.__Color = value; }
            }
            public Point Start
            {
                get { return this.__Start; }
                set { this.__Start = value; }
            }
            public Point End
            {
                get { return this.__End; }
                set { this.__End = value; }
            }
    
    
            public DrawClass(Form frmMain)
            : this(frmMain, Color.Black)
            { }
            public DrawClass(PictureBox picMian)
            : this(picMian, Color.Red)
            { }
    
            public DrawClass(Form frmMain, Color c)
            {
                this.__frmMain = frmMain;
                this.__g = Graphics.FromHwnd(frmMain.Handle);
                this.__Color = c;
                this.__p = new Pen(this.__Color, 2);
                this.__frmMain.MouseDown += new MouseEventHandler(__frmMain_MouseDown);
                this.__frmMain.MouseMove += new MouseEventHandler(__frmMain_MouseMove);
                this.__frmMain.MouseUp += new MouseEventHandler(__frmMain_MouseUp);
            }
    
            public DrawClass(PictureBox frmMain, Color c)
            {
                this.__picMain = frmMain;
                this.__g = Graphics.FromHwnd(frmMain.Handle);
                this.__Color = c;
                this.__p = new Pen(this.__Color, 2);
                this.__picMain.MouseDown += new MouseEventHandler(__frmMain_MouseDown);
                this.__picMain.MouseMove += new MouseEventHandler(__frmMain_MouseMove);
                this.__picMain.MouseUp += new MouseEventHandler(__frmMain_MouseUp);
            }
    
            private void __frmMain_MouseMove(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    __End.X = e.X;
                    __End.Y = e.Y;
                    __g.DrawLine(this.__p, __Start, __End);
                    __Start = __End;
                }
            }
    
            private void __frmMain_MouseUp(object sender, MouseEventArgs e)
            {
    
            }
    
            private void __frmMain_MouseDown(object sender, MouseEventArgs e)
            {
                this.__Start.X = e.X;
                this.__Start.Y = e.Y;
            }
    
    
        }
    }
    
    
    
    DrawClass draw = new ZhuoHuiClass.DrawClass(this.pic);                              //调用画笔功能
  • 相关阅读:
    Array.sort()对象数组排序
    ES6极简数组去重 & 深拷贝
    中文字符按拼音首字母排序(转)
    浏览器常用插件 & 开发常用类库
    异步&分段处理海量数据
    线上环境window.open()新窗口被拦截(转)
    git 版本回退(转)
    CSS字体渐变 & 隐藏浏览器滚动条 & grid布局(转载)
    Python3安装使用SaltStack以及salt-api详解
    Python3之 contextlib
  • 原文地址:https://www.cnblogs.com/Mzg121584668/p/7452360.html
Copyright © 2011-2022 走看看