2010-03-29 4 views
6

내 응용 프로그램에서 사용자에게 대화 상자를 표시하고 기본 폼 (similar to how jQuery looks)을 구현하고 싶습니다. 내 유일한 아이디어는 양식의 스크린 샷을 찍은 다음 양식의 모든 요소 위에 패널을 밀고 패널의 배경으로 배치합니다 (원하는대로 불투명하게). 나는이 일을하는 더 좋은 방법이 있다고 믿어야한다.대화 상자를 표시하는 동안 winform의 배경을 어둡게하는 가장 좋은 방법은 무엇입니까?

답변

11

불투명도 속성은 양식을 어둡게하기 위해 필요한 속성입니다. 오버레이를 작성해야하는데, 내 코드 this thread에이를 수행하는 방법이 나와 있습니다.

프로그램에 UAC 프롬프트가 표시되지 않도록주의하십시오. 아마도 브라우저에서는 적절하지만 사용자는 대화 상자로 오버레이 된 창을 사용할 수 없다는 것을 인식하는 데 전혀 문제가 없습니다. 컨트롤은 스스로를 다르게 페인트하여 명확하게 만듭니다.

+1

+1 :이 서브 클래스의 컨트롤을 필요로하지 않는이, 나보다 더 쉬운 방법입니다. –

+3

아주 좋은 해결책. 하지만 "대화 상자로 겹쳐있는 창을 사용할 수 없다는 사실을 사용자가 전혀 인식하지 못한다"는 말은 일부 사용자에게 너무 많은 신뢰를 줄 수 있습니다. ;) – stout

+0

그레이트 솔루션. 그러나 부정적 측면에서는 추가 양식이 기존 양식에 겹쳐지기 때문에 초점은 오버레이 양식 또는 상위 양식 중 하나 일 수 있습니다. 이상적이지 않습니다. 오버레이가 기존 양식 위에 형성되어있는 것처럼 보이지 않지만 두 양식이 열렸습니다. 이상적인 논리가있을 수 있습니까? – nawfal

2

모달 대화 상자를 시작하기 직전에 불투명도를 상위 창 50 %와 같은 값으로 설정 한 다음 모달 대화 상자를 닫을 때 100 %로 다시 설정하지 않는 이유는 무엇입니까? 이것은 사용자가 요구하는 것과 정확히 동일한 기능을 최종 사용자에게 제공하는 것은 아닙니다.

JQuery 예제와 같은 작업을 수행하려면 설명 된 배경 아이디어로 화면 캡/기능 보강/설정을해야합니다.

0

나는 이것이 오래된 스레드라는 것을 알고 있지만 여전히 관심이 있다면이 프로젝트를 살펴볼 수있다.

Download Project

관련 문제