2010-01-18 3 views
2

C#을 사용하여 개발 한 응용 프로그램에 양식이 있습니다. 그 형태로 저는 그래픽 모양 (원)을 만들었습니다. 런타임에는 양식도 그 모양으로 만 원합니다. 즉, 그 배경의 배경이나 제목 표시 줄 등이 아닌 해당 그래픽 만 표시하려고합니다. 그 그래픽 만 표시하고 싶습니다. 하지만 문제는 내가 양식을 만들 수 없다는 것입니다. 내 양식에 추가 한 사용자 컨트롤로 그 그래픽 컨트롤이 있습니다.서식을 다시 형성하는 방법은 무엇입니까?

+0

안녕하세요. 원형 양식을 만들고 싶습니다. 또는 이제는 원형 인 UserControl을 가지고 있으며 컨테이너 폼을 투명하게 표시하면서 해당 컨테이너 폼에 표시하려고한다고 하시겠습니까? – BillW

답변

3

나는 당신이 스플래시 화면과 같은 효과를 내고 있다고 생각합니다. 이것은하기가 대단히 어렵지 않습니다. 시작하기에 좋은 tutorial입니다.

트릭은 기본적으로 제외한 원을이 경우에 당신이 투명하게하고자하는 색상 폼의 투명성 키 (모든 을 설정하는 것입니다. 또한 경계선으로 양식을 설정해야합니다.

당신이이 일을하려는 이유 여담으로

, 당신은 에 대한 몇 가지 정보를 추가 질문을 편집 할 수 있습니다 -. 내가 궁금 당신의 목표는 사용자 경험의 측면에서, 무엇

+0

이벤트가 발생할 때마다 내 양식으로 사용자에게 그래픽을 보여 주기만하면됩니다. 그래픽은 별도의 양식으로 제공되며 그 양식을 보이지 않게하고 그림 만 그래픽으로 제공합니다. – jankhana

2

을 당신은 또한 수 MSDN에서 Region 속성을 확인하십시오. 그런 다음 지역은 건물의이 표시되기 전에 양식을 설정 원하는 모양 그릴 System.Drawing 개체를 사용하여 그것을 당신이를 heres ... 간단한 예를주고 어떤 형태 걸릴 것입니다 :

http://www.vcskicks.com/custom_shape_form_region.php

2

당신이 원하는 경우를

System.Drawing.Drawing2D.GraphicsPath myPath = new System.Drawing.Drawing2D.GraphicsPath(); 
//this line of code adds an ellipse to the graphics path that inscribes 
//the rectangle defined by the form's width and height 
myPath.AddEllipse(0,0,this.Width,this.Height); 
//creates a new region from the GraphicsPath 
Region myRegion = new Region(myPath); 
this.Region = myRegion; 

을 다음 없음 폼의 FormBorderStyle 속성을 설정 : 원형은 폼로드 이벤트 처리기에 다음 코드를 넣을 수 있습니다.

+0

이 시도했다 그러나 내 그래픽 속도계 같은 서클에 있으며이 타원으로 난 심지어 내 컨트롤 플러스 일부 값을 widht 및 높이주고 싶지 않지만 그것은 제목 표시 줄을 이스케이프 원하는 및 타원을 제공합니다 나쁘다. 다른 제안? – jankhana

+0

원 *은 타원입니다 ... –

+0

타원은 가장 자주 원이 아니지만. –