winfrom-拖动鼠标绘制矩形
来源:互联网 发布:网络自由闭关锁国2017 编辑:程序博客网 时间:2024/05/22 12:07
using System;using System.Collections.Generic;using System.Drawing;using System.Windows.Forms;namespace WindowsFormsApplication2{ //http://bbs.csdn.net/topics/390567044 //http://heisetoufa.iteye.com/blog/380977 //http://blog.csdn.net/xuyongbeijing2008/article/details/17371311 public partial class Form2 : Form { bool bDrawStart = false; Point pointStart = Point.Empty; Point pointContinue = Point.Empty; Dictionary<Point, Point> dicPoints; public Form2() { InitializeComponent(); dicPoints = new Dictionary<Point, Point>(); DoubleBuffered = true; this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true); this.MouseDown += new MouseEventHandler(frmMain_MouseDown); this.MouseMove += new MouseEventHandler(frmMain_MouseMove); this.MouseUp += new MouseEventHandler(frmMain_MouseUp); this.Paint += new PaintEventHandler(frmMain_Paint); } private void frmMain_Paint(object sender, PaintEventArgs e) { Pen pen = new Pen(Color.Black, 1f); pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; if (bDrawStart) { //实时的画矩形 int w = pointContinue.X - pointStart.X; int h = pointContinue.Y - pointStart.Y; Rectangle rect = new Rectangle(pointStart, new Size(w, h)); e.Graphics.DrawRectangle(pen, rect); } pen.Dispose(); } void frmMain_MouseDown(object sender, MouseEventArgs e) { if (bDrawStart) { bDrawStart = false; } else { bDrawStart = true; pointStart = e.Location; } } void frmMain_MouseMove(object sender, MouseEventArgs e) { if (bDrawStart) { pointContinue = e.Location; //Refresh(); Invalidate(); } } void frmMain_MouseUp(object sender, MouseEventArgs e) { if (bDrawStart) { dicPoints.Add(pointStart, pointContinue); } bDrawStart = false; } //... }}
0 0
- winfrom-拖动鼠标绘制矩形
- HTML+js实现鼠标绘制可拖动矩形
- DrawMouseEvent.py 拖动鼠标时绘制矩形或者是圆圈
- 用canvas实现鼠标拖动绘制矩形框
- winfrom-绘制矩形并移动
- 拖动鼠标绘制椭圆
- SilverLight鼠标绘制矩形
- 使用鼠标绘制矩形
- 鼠标绘制矩形
- 鼠标绘制矩形
- c# winfrom 在panel上绘制矩形
- 鼠标拖动这个矩形(GDI+)
- c#鼠标拖动画矩形
- degrafa 鼠标拖动绘制方形
- MFC 鼠标绘制矩形框
- OpenCV鼠标画图例程,鼠标绘制矩形
- OpenCV鼠标画图例程,鼠标绘制矩形
- OpenCV鼠标画图例程,鼠标绘制矩形
- Java_温故而知新
- Java常用对象------日期(一)
- ejs简单上手实现一个 <%- %>
- 【笔记】思科路由器常用配置命令
- GCD线程随笔
- winfrom-拖动鼠标绘制矩形
- 500. Keyboard Row
- C++ 条件运算符(三目运算符)
- hdu 2003 求绝对值 double 类型的输入输出
- 受限玻尔兹曼机RBM
- 绝对值和小数向上、向下取整
- spring3.x第三章 IOC容器概述
- 制作一张简单的网页(HTML+CSS+JS) 【2】
- 产品大佬们,按照这个标准你可以打死程序员了