2008-10-13 2 views
3

.NET newbie here ... 진행률 또는 "재사용 대기"효과를 표시하는 Windows 양식의 단추를 만들고 싶습니다. 즉, 버튼을 누르면 비활성화됩니다. 어떤 이벤트 나 타이머가 진행 중일 때 버튼은 진행 상황을 그래픽으로 보여줍니다. 진행이 완료되면 그래픽이 완료되고 버튼이 활성화됩니다. 비슷한 효과가 많은 게임에서 볼 수 있습니다.Windows Forms 진행 단추

나는 내장 된 Button 클래스와 GDI + DrawPath 함수를 조합하여 사용하려고했지만 복잡성은 저조한 것으로 나타났습니다. 더 쉬운 방법이 있어야한다는 잔소리가납니다.

아이디어가 있으십니까? 감사.

+0

나는 gdi 경로를 가지 않을 것입니다 ... wpf 사용을 고려 했습니까? –

답변

0

버튼에 정말 필요한 경우 맞춤 페인트 이벤트로 이동합니다. 유사

뭔가 :

button += new buttonPaintEvent(buttonPaintEventHandlerMethod); 
+0

@Underflow :이 답변을 사용하여 솔루션에 대해 자세히 설명해 주시겠습니까? – Pat

1

가장 쉬운 방법은 진행률 표시 줄 컨트롤의 인스턴스를 만드는 것이고 사용자 지정 코딩/사용자 지정 그림을 수행 할 필요가 없습니다. 버튼 컨트롤 안에 모든 것을 표시해야한다면 두 가지 옵션이 있습니다. 단추의 Image 속성을 계속 변경하거나 전체 돼지를 이동하고 단추의 사용자 지정 그림을 수행 할 수 있습니다. 사용자 정의 그림은 Text뿐 아니라 원하는 이미지를 그릴 필요가 있기 때문에 매우 간단합니다.

1

또 다른 쉬운 방법은 두 개의 컨트롤, 폼에서 같은 공간을 차지 버튼 및 진행률 표시 줄을 가질 수 있습니다. 사용자가 버튼을 누르면 버튼을 숨기고 진행 막대를 표시합니다. 처리가 완료 될 때까지 필요에 따라 진행률 막대를 업데이트하십시오. 그런 다음 진행률 막대를 숨기고 버튼을 다시 표시하십시오.