2012-06-19 2 views
3

배경 이미지가있는 .NET Winform이 있고, Win7의 디스플레이 설정이 고 대비 모드로 설정되어있을 때 BackgroundImage가 숨겨진다고보고되었습니다. MS가 기본적으로이 작업을 수행하는 이유를 알고 있지만 양식의 레이아웃을 변경하지 않고이 동작을 무시할 수있는 방법이 필요합니까? 차라리 클릭 이벤트와 같은 것을 다른 이미지 컨트롤로 옮기지 않고 배경을 시뮬레이트하기위한 폼 위에 추가합니다 (그리고 나서 내가 포함하는 투명 PNG도 이동해야합니다) ... 우리는 테스트의 후반 단계에서 변경 사항이 적 으면 적을수록 좋습니다.Form.BackgroundImage를 고 대비 모드로 유지하십시오.

"배경"은 실제로 전형적인 배경이 아니며, 텍스트와 중요한 내용이 숨겨져서는 안됩니다. 물론, 나쁜 디자인으로는 저를 -1 할 수 있지만,이 작은 사안까지는 작동하지 않는 것 같았습니다.)

답변

0

단색 이미지를 사용하면 이미지를 숨길 수 있습니까? 그런 다음 런타임에 확인 (WinForms의 경우 System.Windows.Forms.SystemInformation.HighContrast, WPF의 경우 System.Windows.SystemParameters.HighContrast)하고 적절한 이미지로 설정할 수 있습니다.

+0

필자는 OnPaint : e.Graphics.DrawImage (new Bitmap (BackgroundImage), 0, 0)에서 그려 봤습니다. - 아무도 다른 사람이 더 좋은 답을주지 못한다면 나는 당신의 답을 표시 할 것입니다. 왜냐하면 HighContrast 검사를위한 속성은 다른 경로 (예 : 이미지 대신 텍스트가있는 레이블 표시)를 사용해야 할 경우 도움이되었을 것입니다. – eselk

관련 문제