2017-02-15 1 views
1

내 프로젝트에 'mapview'유형 컨트롤을 추가하려고합니다. 이벤트가 발생할 때 움직일 수있는 경계선과 아이콘/이미지가있는 클릭 가능한 투명 사각형이있는 '기본지도'이미지가 있어야합니다.클릭 가능한 사각형 및 애니메이션 아이콘이있는 picturebox/mapview 유형 컨트롤 만들기

C#에서 Windows 양식을 사용하여이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

내 첫번째 생각은 그 위에 다른 항목과 그림 상자를 사용하는 것이 었하지만 이것을 달성 할 수있을 것입니다 어떤 라이브러리 나 아무것도 거기 밖으로 나는 등

투명성 문제로 실행 수 있는가? 정말

+1

일반 Doublebuffered Panel 하위 클래스 또는 PictureBox 하위 클래스와 함께 이동 가능한 Label 하위 클래스로 이동합니다. Labels은 PictureBox의 __not__을 '꼭대기에 올려 놓으십시오.' (lbl.Parent = pbox). 그러면 투명도는 잘 작동 할 것입니다. 이것은 직사각형이 겹치지 않는 것으로 가정합니다. - '애니메이션 이벤트'부분을 이해하면 코드의 나머지 부분이 더 쉬워 질 것입니다. – TaW

+0

감사합니다! 그게 좋은 생각이야, 지금 시도해 볼게 :) –

+0

완벽하게 작동했습니다. 자유롭게 답으로 쓰면 받아 들일 것입니다. @TaW –

답변

1

라이브러리에 대한 필요가 없습니다 :

doublebuffered 나는 정기적 갈 것 사각형 FPR 이동Label 또는 Panel 서브 클래스와 함께 보드/맵에 대한 Panel 서브 클래스 심지어 PictureBox 서브 클래스/items.

중요 다음 Labels 그냥 PictureBox하지만 정말 중첩의 '상단에 넣어'하지 을 있는지 확인! (lbl.Parent = pbox). 그리고 투명성이 잘 작동합니다 .. PictueBox 이후

둥지 그 안에 제어하는 ​​'용기'아니다 당신은 코드가 필요합니다. 하지만 동적으로 생성하고자하므로 어쨌든 문제가되지 않습니다.

여기서는 직사각형이 이 아닌 것으로 가정합니다.! 컨트롤이 겹치면 winforms의 투명도가 작동하지 않습니다.

이 부분 코드의 쉽게 나머지가 될 것이다 '는 이벤트 때 애니메이션'이해 명확를 ..

당신은 '애니메이션'경고 한 마디 언급 때문에하십시오 특히 reponse에 간단한 애니메이션을, 사용자 행동이 가능하다; 보다 세련된 애니메이션을 얻으려면 winforms의 한계를 뛰어 넘을 수 있습니다.

관련 문제