我有这段代码
private void picturebox1_Paint(object sender, PaintEventArgs e)
{
if (Percent == 100)
{
e.Graphics.DrawString("Completed!", font, Brushes.Black, new Point(3, 2));
}
}
我想从这里导航:
public void Complete()
{
picRooms_Paint();//How can I reach picRooms_Paint from here and draw the string?
}
任何帮助将不胜感激!
答案 0 :(得分:0)
从您的示例中不清楚picRooms
是什么,所以我无法告诉您如何从其他地方访问其图形。
虽然作为一般的API改进,最好将功能代码从事件处理程序移动到可以重用的方法中;
private void DrawComplete(Graphics g)
{
if (Percent == 100)
{
g.DrawString("Completed!", font, Brushes.Black, new Point(3, 2));
}
}
现在你可以从任何地方调用该方法;
private void picRooms_Paint(object sender, PaintEventArgs e)
{
DrawComplete(e.Graphics)
}
public void Complete()
{
DrawComplete(this.CreateGraphics());
}
在你的例子中也没有任何价值,因为Complete
没有做任何其他事情,你也可以遵循这个例子,但是将功能代码放在Complete
中,而不是按照我的方式添加另一种方法。