0

我有这个代码

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?
}

任何帮助,将不胜感激!

4

1 回答 1

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,而不是像我一样添加其他方法。

于 2013-06-27T23:31:05.473 回答