는 방법을 렌더링을 제어하는 모습처럼 콤보 비주얼 스타일을 사용하나요?
문제
나는 컨트롤 모델 ComboBox.내가 원하는 렌더링을 제어하는 제어 테두리 처럼 보이는 표준 Windows ComboBox.특히 저는 다음에 MSDN 문서 및 모든 렌더링을 제어의 정확를 제외한 렌더링을 제어를 하는 경우 사용할 수 없습니다.
그걸 분명히 하기 위해서,이 시스템 Visual 스타일 사용됩니다.또한,모든 부품의 제어를 제대로 렌더링을 제외하고 주위의 테두리 사용 제어,일치하지 않는 장애인 ComboBox 경 색상입니다.
내가 사용하는 VisualStyleRenderer 클래스입니다.MSDN 제안을 사용하여 VisualStyleElement.TextBox
요소에 대한 TextBox 의 ComboBox 컨트롤러한 표준화 TextBox 고 표준화 ComboBox 그리는 약간 다르게(하나는 밝은 회색 테두리가 다른 파란 국경).
를 얻을 수 있는 방법이 올바른의 렌더링을 제어 사용할 수 없는 상태?
올바른 솔루션이 없습니다
다른 팁
나는 100%확실하지 않으면 이것은 당신을 위해 무엇을 찾고 하지만 당신은 확인 VisualStyleRenderer 에서 시스템입니다.Windows.Forms.VisualStyles-네임스페이스가 있습니다.
- VisualStyleRenderer 클래스 (MSDN)
- 방법:렌더링하는 시각적인 스타일 요소 (MSDN)
- VisualStyleElement.킬 수 있습니다.DropDownButton.장애인 (MSDN)
이후 VisualStyleRenderer 작동하지 않을 경우에는 사용하지 않는 비주얼 스타일을 사용하도록 설정(그/그녀가 실행 될 수 있습니다'고전 모드'또는 작동하기 전에 시스템을 Windows XP)에 당신은 항상 있어야 대체하 ControlPaint 클래스입니다.
// Create the renderer.
if (VisualStyleInformation.IsSupportedByOS
&& VisualStyleInformation.IsEnabledByUser)
{
renderer = new VisualStyleRenderer(
VisualStyleElement.ComboBox.DropDownButton.Disabled);
}
고 다음을 수행할 때 이와 같은 그림:
if(renderer != null)
{
// Use visual style renderer.
}
else
{
// Use ControlPaint renderer.
}
Hope it helps!
은 모든 ControlPaint 방법이 유용한가요?내가 무슨 일반적으로 사용한 사용자 정의 렌더링을 제어합니다.