ITPub博客

首页 > Linux操作系统 > Linux操作系统 > winform手绘直线drawline

winform手绘直线drawline

原创 Linux操作系统 作者:wisdomone1 时间:2012-07-16 18:43:18 0 删除 编辑
//手工编写直线
        private bool istrack = false;//按下true,放开false,不然一直画线
        private Point beginpoint;
        protected override void OnMouseDown(MouseEventArgs e)
        {
            beginpoint = new Point(e.X, e.Y);
            istrack = true;
        }
        
        public keytest()
        {
            Cursor.Current = Cursors.IBeam;
            //SizeF sf= CreateGraphics().MeasureString("测试graphics.measurestring", Font, Point.Empty, StringFormat.GenericTypographic);//sizef存储矩形的宽高度,由measurestring

        }

        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (!istrack)
                return;
            Point endpoint = new Point(e.X, e.Y);
            Graphics gp = CreateGraphics();
            gp.DrawLine(new Pen(Color.Blue), beginpoint, endpoint);
            gp.Dispose();
            //beginpoint = endpoint;//加此行代码很重要要不加,效果出来就不是直线,而是一堆杂乱的排线,beginpoint=endpoint表示永远是从新位置开始绘制
        }
        public static void Main()
        {
            Application.Run(new keytest());
        }

        protected override void OnMouseUp(MouseEventArgs e)
        {
            istrack = false;

        }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-735634/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2164
  • 访问量
    11693769