为了账号安全,请及时绑定邮箱和手机立即绑定

使用CreateGraphics而不是Paint事件处理程序进行自定义绘图时的绘图故障

使用CreateGraphics而不是Paint事件处理程序进行自定义绘图时的绘图故障

C#
慕桂英4014372 2019-12-06 10:46:07
我已经编写了Windows Forms应用程序,在上Panel使用进行自定义绘图Control.CreateGraphics()。这是我Form启动时的样子:与抽奖的空白表格! 纽扣自定义绘图是Click在“绘图!”事件处理程序的顶部面板上执行的。按钮。这是我的按钮单击处理程序:private void drawButton_Click(object sender, EventArgs e){    using (Graphics g = drawPanel.CreateGraphics())    {        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;        g.Clear(Color.White);        Size size = drawPanel.ClientSize;        Rectangle bounds = drawPanel.ClientRectangle;        bounds.Inflate(-10, -10);        g.FillEllipse(Brushes.LightGreen, bounds);        g.DrawEllipse(Pens.Black, bounds);    }}单击后drawButton,表单如下所示:绿色填充椭圆形成功!但是当我拖动一个角来缩小表单时...相同形式,缩小以部分隐藏椭圆...并将其扩展回原始大小,右侧和底部缺少图形的表格我画的部分消失了!当我将部分窗口拖到屏幕外时,也会发生这种情况。形成部分屏幕外...并将其拖回到屏幕上:表格重新显示在屏幕上,但缺少一半的图形如果我最小化窗口并还原它,则会删除整个图像:像第一张图片一样的空白表格是什么原因造成的?我如何才能使绘制的图形持久化?注意:我已经创建了这个自我解答的问题,所以我有一个规范的Q / A可以将用户定向到,因为这是一种常见情况,如果您还不知道问题的原因,则很难进行搜索。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 458 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信