【问题标题】:when i press tab the panel clears当我按下标签时,面板清除
【发布时间】:2013-03-07 18:35:55
【问题描述】:

使用 DrawImageUnscaled 我的程序绘制抛物线或直线 ...

如果我在程序绘制后按 Tab,则图像所在的面板会清除..

对于我使用的 ox 和 oy 轴?他们也消失了……

System.Drawing.Pen linepen;
linepen = new System.Drawing.Pen(System.Drawing.Color.Green);

System.Drawing.Graphics g = drawingboard.CreateGraphics();

g.DrawLine(linepen, 0, drawingboard.Height / 2, drawingboard.Width, drawingboard.Height / 2);
g.DrawLine(linepen, drawingboard.Width / 2, 0, drawingboard.Width / 2, drawingboard.Height);
timer1.Enabled = false;

我该如何解决这个问题?

【问题讨论】:

  • 使用 Paint 事件来绘制一些东西。
  • 我认为提供的代码不在 OnPaint(...) 方法或 Paint 事件处理程序中,也没有被调用。如果是这样,您需要纠正它,至少在您更好地掌握如何在 .NET 框架中完成绘画之前。

标签: c# drawing panel


【解决方案1】:

通常在 DOT.NET 中,您不只是在随机位置绘制您希望用户看到的内容。相反,每个面板(和控件)都有一个 OnPaint 函数,该函数在控件显示自身时被调用。你想修改这个函数来绘制你的新线。

当您使用 .NET 时,您会注意到,当应用程序中发生某些事件时,该函数将被多次调用——例如重新调整大小。这允许程序员更改窗口大小时显示的内容。

将上面的代码添加到控件的 OnPaint 函数中,它应该会更好地工作。

我不确定你所说的 ox 和 oy 是什么意思——你似乎没有任何代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多