我有一个小问题在屏幕上绘制一个位图,我尝试使用MSDN库上显示的方式,它部分有效,但它们并没有真正给出一个很好的例子,只是说明你需要PaintEventHandler。 / p>
这就是我的代码:
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匹配。”
我哪里错了?
答案 0 :(得分:0)
Form1_Load没有重载与委托System.EventHandler匹配。"
Form_Load的委托功能就是这个(它没有一个名为&#34的参数; 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);
}