作为一名小白,最近在做一个类似画板的Winform。
通过button选择一种工具(矩形,圆,线)
然后在picturebox上通过click事件点击,直接在点击位置draw一个相应的图形。
在制作过程中,有这么几个问题:
1.这样直接draw的图形,和用paint事件的图形有什么区别,一直没怎么懂paint的用法
2.后期我想保存文件,使用DrawtoBitmap时,生成的是一张白纸(是不是和没有用paint有关)
3.能对我画的圆进行鼠标拖拽么(基于updown),如何删掉原来的图形
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
关于C#的Graphics的Paint事件
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
tang_cheng 2016-12-19 17:26关注- 这和windows的机理有关。在windows系统中所有的窗口,子窗口,控件等都是属于一种叫做"窗口"的对象。这个对象会接收很多消息,比如鼠标消息,绘画消息,定时消息等,对不同的消息的不同处理就形成了你所用的按钮,文本框等等各种控件。 但是"窗口"有个最基本的消息就是Paint消息,当有其他窗口层叠在它之上然后移开,或者它的大小改变,或它的显示模式改变都会自动触发这个消息,调用内部函数重新绘制"窗口"。 如果你没在paint消息里绘制,只是直接用draw绘制的东西,在用另一个窗口遮挡然后移开后,会变回原来的图案(一般就是空白)。
- DrawtoBitmap应该是调用Paint类消息绘制的。
- 拖拽的如果只是线条的话,一般可以采用XOR方式绘制两次就可消除。如果是图形的话,一般是调用窗口的Invalidate函数强制触发Paint消息,在重绘的时候把拖动的图用新的坐标绘制一下。其他图保留原始位置
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 4无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-09-30 08:15本教程主要讲解了使用C#进行图形图像编程的基础知识,包括GDI+绘图基础、C#图像处理基础和简单的图像处理技术。 GDI+绘图基础 ------------- GDI+是微软在Windows 2000以后操作系统中提供的新的图形设备接口,它使...
- 2021-03-09 00:33Visual Studio Community 2019作为微软提供的免费集成开发环境(IDE),为开发者提供了丰富的工具和支持,使得用C#开发应用程序变得更为便捷。本篇文章将详细介绍如何使用C#和Visual Studio Community 2019来创建一...
- 2021-09-28 19:54在Paint事件处理程序中,我们可以利用Graphics类来绘制雪花。Graphics类提供了多种绘制图形的方法,如DrawLine、DrawEllipse等。在这个特效中,我们将使用DrawLine方法来绘制直线,模拟雪花飘落的效果。每片雪花可以...
- 2020-06-18 08:54微软技术分享的博客 C# WinForms (Windows Forms) 是一种用于创建 Windows 桌面应用程序的用户界面(UI...在使用 C# WinForms 开发应用程序时,你需要创建一个 Windows 窗体应用程序项目,然后在该项目中添加窗体、控件和事件处理程序等。
- 2022-05-25 14:312. **.NET Framework**:这是微软提供的一个开发平台,包含了运行时环境、类库和服务,支持C#代码的执行。在卡牌对战游戏中,.NET Framework提供的类库如System.Drawing用于图形绘制,System.IO用于文件操作,System...
- 2021-12-17 06:51在C#中,你可以创建一个窗体(`Form`),然后在窗体的`Paint`事件处理程序中进行GDI+的绘图操作。这样,每次窗体需要重绘时,都会调用这个事件,从而更新图形。 示例代码: ```csharp public partial class Form1 :...
- 2023-08-09 01:34在IT行业中,GDI(Graphics Device Interface)是微软Windows操作系统提供的图形设备接口,它允许程序员创建和控制图形输出。GDI+是GDI的增强版本,提供了更多的图形处理功能,如矢量图形、颜色管理以及图像操作。在...
- 2021-08-11 12:58在C#中,可以创建一个PictureBox控件,然后在其Paint事件处理程序中使用Graphics对象进行绘图。Graphics对象提供了DrawLine和DrawPolygon等方法,可以用来绘制x轴、y轴以及基于数组数据的波形线。 至于“各种按键...
- 2021-08-11 15:05C#,作为微软开发的面向对象的编程语言,提供了丰富的库支持与GDI进行交互,使得开发者能够创建出高效且具有视觉吸引力的应用程序。本项目“DynamicCurce.rar”显然是一个利用C#和GDI进行曲线图绘制的实例,旨在帮助...
- 2022-09-19 12:457. **事件处理**:在C#中,窗口控件通常有Paint事件,开发者可以在事件处理程序中进行绘图操作。当窗口被移动、缩放或需要重绘时,此事件会被触发。 8. **图形缓存**:为了提高性能,应尽量避免在每次Paint事件中...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司