最近在学习这个,发现网络上C#很多相关的问答讲解上都不完整,耗费了时间还解决不了自己的问题。所以打算将自己学习过程中的一些东西上传来,分享给初学者们,大家一起勉励吧!(因为是面向初学者的交流,会写的啰嗦点,请见谅)
这里要用到的是Graphics类,所以各位在学习的时候要想看看这个相关的基础知识。
先讲解下大家会遇到的问题吧。
1. 画好后的图像在最小化之后玩玩会消失不见,其实这是因为最小化后再打开,窗体进行了重新绘制,所以这时候我们要恢复显示就要在窗体的OnPaint方法中重绘图片。
只要直接调用窗体的OnPaint事件即可。(如下)
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//编写绘制图片程序
}
注:OnPaint事件可以对控件或者图像进行重绘,一般出现最小化后打开消失问题可以直接将画图程序复制到这个事件当中即可。此外,这种方法也多用于对于按钮控件等进行重绘美工。
2. 如果采用上面这个重绘方法,那么我们就需要将每一次鼠标绘制时的信息都记录起来,这样的话数据太长,重绘也会比较麻烦,消耗资源。所以这里解决的方法是新建一个bitmap来作画,并将bitmap实时显示在容器当中(我这里直接使用了pictrueBox来显示,比较方便)。
好了,闲话少说,下面就是程序了 做好了注释,上面也有讲解,应该比较好理解了。
1. 新建一个项目,就form窗体,拖入pictrueBox跟两个button控件。如下
2. 主程序如下
3. using System;
4. usingSystem.Collections.Generic;
5. usingSystem.ComponentModel;
6. using System.Data;
7. using System.Drawing;
8. using System.Linq;
9. using System.Text;
10. usingSystem.Threading.Tasks;
11. usingSystem.Windows.Forms;
12. usingSystem.Drawing.Imaging;
13.
14. namespace paintBox
15. {
16. public