2010-06-12 2 views
0

방금 ​​.net Compact Framework에서 시작했습니다. 나는 화면에 스도쿠 (Sudoku) 필드를 그리기를 원한다. 그래서 나는 PictureBox을 넣고 Paint 이벤트에 대한 방법 정의 :이 작동.net Compact Framework 용 사용자 정의 컨트롤을 빌드하십시오.

private void pictureBoxPlayfield_Paint(object sender, PaintEventArgs e) 
{ 
    // use e.Graphics to draw the grid, numbers and cursor 
} 

을하지만, 격자가 그려진대로 볼 수 있습니다. 그래서 내 질문에, 올바른/더 나은 방법과 같은 사용자 정의 컨트롤을 만드는 무엇입니까? 더블 버퍼링을 가능하게하는 방법이 있습니까?

답변

2

Compact Framework에는 이중 버퍼링이 기본적으로 지원되지 않습니다. 직접 추가 할 수 있으며 PictureBox는 이미 Image 속성을 지원합니다. 생성자에 비트 맵을 만들고 이미지에 할당합니다. PictureBox에서 제공하는 그림판 이벤트는 이미 그림판 이벤트를 필요로하지 않습니다.

이미지를 변경해야 할 때마다 Graphics.FromImage()로 Graphics 객체를 만들고 PB의 Image를 전달하고 물건을 그립니다. PB의 Invalidate() 메서드를 호출하여 이미지를 다시 그려야한다고 알려줍니다. 여전히 깜박임이 보이면 PB의 OnPaintBackground() 메서드를 재정의하고 아무 것도하지 않습니다.

유일한 다른 고려 사항은 크기 조정을 처리하는 것입니다. 더 크거나 작은 비트 맵이 필요합니다. 게임에 꼭 필요한 것은 아닙니다.

+0

잘 작동합니다. 감사합니다. :) – Hinek

관련 문제