2010-01-07 3 views
2

screenshot에 표시된 것처럼 Windows Forms 위젯은 실제 런타임과 다른 디자인 모드로 나타납니다.디자인보기 위젯의 외관이 런타임 위젯과 다른 이유는 무엇입니까?

저는 VS2008 Pro를 사용하고 있으며 내 바탕 화면은 기본 windows-xp 스타일을 사용하도록 설정되어 있습니다. 왜 .net은 레거시 위젯 사용을 주장합니까? 내 google-foo는 맞춤 위젯이나 확장 된 사용자 컨트롤이 필요없는 솔루션을 찾지 못합니다.

DropDownStyle 및 FlatStyle 속성은 기본값이지만 설정을 조합하면 런타임 위젯이 디자인 모드와 동일하게 나타납니다.

어떤 원인 일 수 있으며 어떻게 동작을 변경할 수 있습니까?

답변

4

visual styles을 사용해야합니다.

System.Windows.Forms.Application.EnableVisualStyles(); 

난 당신이 외부 매니페스트이 할 수있는 닷넷 1.1을 기억하는 것,하지만 2.0의 작동이 중지 : 하여 홈페이지()에서 다음을보십시오.

+0

감사합니다. 예상대로 작동했습니다. 이것이 기본 옵션이 아닌 이유는 무엇입니까? 의도하지 않은 결과 또는 부작용이 있습니까? –

+0

부작용에 대한 개인적인 경험은 없지만 필자는 XP 및 이후 버전에서만이 기능을 사용했습니다. 왜 이것이 기본값이 아닌지 확실하지 않습니다. –

2

Jbloomer의 답변이 정확합니다.

나는 이것을 기억하는 것을 추가하는 것이 도움이 될 것이라고 생각 : SSW's Rules to Better Windows Forms Applications.

팁은 매우 유용합니다.

+0

좋아요! 링크를 가져 주셔서 감사합니다. 이 페이지를 사용하면 특정 상황에서 예외가 발생할 수 있다고 언급됩니다. 문제가 있었습니까 (가능한 해결 방법)? –

+0

EnableVisualStyles를 사용하여 예외가 발생하는 일은 결코 없었지만 신뢰할 수있는 대답으로 받아들이지 않았습니다. 내부 앱에서 작업 중이므로 모든 컴퓨터가 동일한 XP 버전에있었습니다. SP2 및 SP3에서 작동하는 경우 안전 할 수 있습니다. –

관련 문제