2013-11-03 2 views
0

비트 맵을 화면에 그리는 작은 프로그램이 있습니다. MSDN 라이브러리에 표시된 방식으로 시도했지만 부분적으로 작동하지만 실제로는 좋은 예제를 제공하지 않았습니다. PaintEventHandler가 필요합니다.DrawImage를 사용하여 비트 맵 그리기

은 그래서 내 코드입니다 :

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.EventHand 대리자와 일치하지 않습니다. ler. "

내가 틀렸어?

답변

0

이를 Form1_Load에 대한 어떠한 과부하은 System.EventHandler을 위임 일치하지있는 PaintEventArgs ""

의 Form_Load의 위임 기능이 (그것은라는 매개 변수가없는 것입니다 ". 그래서 지금

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

을 Form_Paint 이벤트에 넣으십시오 :

+0

고맙습니다. – user2948815