【发布时间】:2017-05-07 10:44:12
【问题描述】:
抱歉,之前有人问过这个问题。
我正在用 C# windows 窗体开发一个简单的 connect 4 游戏,因为我之前没有做过任何涉及图形的工作。为此,我需要程序在按下按钮时绘制圆圈,但我不知道如何调用该函数。
public void printToken(PaintEventArgs pe, int x)
{
Graphics g = pe.Graphics;
Pen blue = new Pen(Color.Blue);
Pen red = new Pen(Color.Red);
Rectangle rect = new Rectangle(50 + ((x-1) * 100), 50, 50, 50);
g.DrawEllipse(blue, rect);
}
private void button1_Click(object sender, EventArgs e)
{
printToken(null, 1);
}
null 只是一个占位符,显然这不起作用。
感谢任何和所有的帮助。
【问题讨论】:
-
您需要处理要在其上绘制的任何控件的 Paint() 事件,并使用在该事件中通过
e.Graphics参数提供给您的图形。您可以在 Class 级别存储有关要绘制的内容的信息,然后通过调用其 Refresh() 方法强制控件绘制自身。 -
您必须使用容器或表单的 Paint 事件,并使用从中提供的 Graphic 对象。要更新绘图,您只需在容器上调用 Invalidate()。在绘制事件本身中,您只需绘制事物的当前状态,因此如果您需要绘制标记,则您的变量或列表需要该信息。
-
我有点理解你们在说什么,但我不知道我打算如何将它全部实现到代码中。我对这种类型的东西很陌生。