2014-02-09 2 views
1

WinForms를 사용하여 응용 프로그램을 만들고 있는데, 화면에는 100 가지 이상의 이미지/개체가있을 수 있습니다. 양식에서 Paint 이벤트를 사용하는 것이 좋습니까, 아니면 100 개의 다른 그림 상자가 있습니까?PictureBox vs 페인트 C#

편집 : 일부 테스트 후에 Paint 이벤트를 사용하도록 코드를 전환했습니다. 모두 도움을 주셔서 감사합니다!

+0

무엇을하려하며 그림 상자는 무엇에 사용됩니까? – HasanAboShally

+1

소켓을 통해 다른 사용자에게 연결할 수있는 본질적으로 체스 게임 인 응용 프로그램이 될 것입니다. 페인트/그림 상자는 체스 조각, 보드, 플레이어 이름 등이 될 것입니다. – ApachePilotMPE

+1

그래서 'paint' 이벤트를 사용해야한다고 생각합니다. 그러나 새 프로젝트를 시작하는 경우 WPF로 전환하는 것이 좋습니다 .. – HasanAboShally

답변

3

Paint 이벤트를 처리해야합니다.
(이중 버퍼링을 활성화해야 함)

많은 수의 컨트롤을 만들면 성능 문제가 발생할 수 있습니다.
또한 모든 것을 직접 페인트하면 투명도와 같은 더 복잡한 효과를 쉽게 사용할 수 있습니다.

또는 WPF로 전환하십시오.

0

PictureBox보다 성능이 좋고 이전 .NET과 호환되기 때문에 Paint 이벤트를 사용하는 것이 좋지만 PictureBox는 .JPEG 파일과 같은 리소스의 이미지를 표시하는 데에도 유용합니다.

팁 : 여러 PictureBox 컨트롤에서 동일한 이미지를 사용하려면 각 PictureBox에 대한 이미지의 복제본을 만듭니다. 여러 컨트롤에서 동일한 이미지에 액세스하면 예외가 발생합니다.