C# 保存出来的图片是黑色的
发布网友
发布时间:2024-09-30 02:03
我来回答
共2个回答
热心网友
时间:2024-12-13 16:53
需要在激活的时候重画才行
自己做的控件往往会忘记这个事情
一般是Refresh()函数
热心网友
时间:2024-12-13 16:53
你需要在你用作画板的那个控件的paint(控件重绘)事件写上你的处理代码
比如你在画图的时候需要记录他的绘画笔记,然后在paint事件里面重新把这个轨迹画出来即可
如在窗体load事件写上
Graphics gp = this.CreateGraphics();
gp.DrawLine(new Pen(Color.Red), new Point(0, 0), new Point(this.Size.Width, this.Size.Height));
gp.Dispose();
当你运行的时候你会发现这个直线并没有画出来,这是因为在窗体第一次显示的时候会触发paint事件,而这个时候paint事件并没有处理,所以他会把以前画出来的东西全部擦除
但是你在pain事件t写上
Graphics gp = this.CreateGraphics();
gp.DrawLine(new Pen(Color.Red), new Point(0, 0), new Point(this.Size.Width, this.Size.Height));
gp.Dispose();
这个时候运行就会出现一个直线了,而在你程序最小化再恢复的时候也会触发pain事件
所以你应该懂了吧?