WPF —— GDI画板

定义绘制对象

cs 复制代码
Graphics g;

起始点坐标

cs 复制代码
Point start;

画笔颜色

cs 复制代码
Color c1 = Color.Black;

是否开始绘制 当flag==true开始绘制,结束绘

cs 复制代码
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left) //点击了鼠标左键
    {
          start = e.Location ; //当前点击的坐标
          flag = true;
    }
}

制的时候只需要flag=false,

//在事件函数当中先判断flag 为true或者false,然后在做处理。

cs 复制代码
bool flag = false;

鼠标按下的方法:主要是获取按下时候的坐标也就是起始点坐标

cs 复制代码
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left) //点击了鼠标左键
    {
          start = e.Location ; //当前点击的坐标
          flag = true;
    }
}

鼠标移动的时候获取结束点,获取绘制的结束点,并且划线

cs 复制代码
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    if (flag == false) return;
    g.DrawLine(new Pen(c1, 2), start, e.Location);
    start = e.Location ; //重置起始点
}

结束绘制

cs 复制代码
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
    flag = false;
}
相关推荐
Bruce小鬼12 分钟前
QT文件基本操作
开发语言·qt
2202_7544215417 分钟前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
我只会发热24 分钟前
Java SE 与 Java EE:基础与进阶的探索之旅
java·开发语言·java-ee
懷淰メ34 分钟前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
hummhumm1 小时前
第 22 章 - Go语言 测试与基准测试
java·大数据·开发语言·前端·python·golang·log4j
宁静@星空1 小时前
006-自定义枚举注解
java·开发语言
hummhumm1 小时前
第 28 章 - Go语言 Web 开发入门
java·开发语言·前端·python·sql·golang·前端框架
武子康1 小时前
Java-07 深入浅出 MyBatis - 一对多模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据库·sql·mybatis·springboot
珹洺1 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
每天吃饭的羊1 小时前
python里的数据结构
开发语言·python