0

我有一个小问题在屏幕上绘制位图,我尝试使用 MSDN 库上显示的方式,它部分有效,但他们并没有真正给出一个很好的例子,只是指定你需要 PaintEventHandler。

这就是我的代码:

public class UI {
   public static void DrawTexture(string path, int x, int y, PaintEventArgs e) {
       Bitmap BM = new Bitmap(path);
       e.Graphics.DrawImage(BM, x, y);
   }
}

现在这应该可以了,但是在调用函数时出现了问题:

UI.DrawTexture("somepic.png", 1,1, /* What to put in here? */);

我也尝试以一种形式使用它:

private void Form1_Load(object sender, EventArgs e, PaintEventArgs p) {
    UI.DrawTexture("somepic.png", 1,1, p);
}

这在调试时给了我一个错误:“Form1_Load 没有重载与委托 System.EventHandler 匹配。”

我哪里错了?

4

1 回答 1

0

Form1_Load 没有重载与委托 System.EventHandler 匹配。”

Form_Load 的委托函数是这样的(它没有名为“PaintEventArgs”的参数:

private void Form1_Load(object sender, EventArgs e) {
   //Your codes here……
}

所以现在请放入 Form_Paint 事件:

 private void Form1_Paint(object sender, PaintEventArgs e)
        {
UI.DrawTexture("somepic.png", 1,1, e);
        }
于 2013-11-03T07:28:39.113 回答