我不知道该怎样传递给我的方法来正确调用我的Circle绘图.这是我的代码:
private void Circle()
{
Graphics g1 = e.Graphics;
Pen p1 = new Pen(Color.Black);
g1.DrawEllipse(p1, 12, 12, 50, 50);
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Circle();
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为没有'e'.
如果我重写我的代码
Graphics g1 = e.Graphics;
Run Code Online (Sandbox Code Playgroud)
至
Graphics g1 = this.CreateGraphics();
Run Code Online (Sandbox Code Playgroud)
它会绘制圆圈但不会在图片框中绘制.我需要一个圆圈才能进入图片框.
如果你的方法需要引用PaintEventArgs,那么为什么不提供呢?像这样的东西:
private void Circle(PaintEventArgs e)
{
Graphics g1 = e.Graphics;
Pen p1 = new Pen(Color.Black);
g1.DrawEllipse(p1, 12, 12, 50, 50);
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Circle(e);
}
Run Code Online (Sandbox Code Playgroud)
这将允许其他绘制事件处理程序也为自己的控件使用该方法.
| 归档时间: |
|
| 查看次数: |
411 次 |
| 最近记录: |