【问题标题】:Keep Form.BackgroundImage visible in high contrast mode保持 Form.BackgroundImage 在高对比度模式下可见
【发布时间】:2012-06-19 21:54:49
【问题描述】:

我有一个带有背景图像的 .NET Winform,测试刚刚报告,当 Win7 中的显示设置设置为高对比度模式时,BackgroundImage 被隐藏。我理解为什么 MS 默认会这样做,但我希望有一种方法可以在不改变表单布局的情况下覆盖这种行为?我宁愿不将我的点击事件等移动到我在表单顶部添加以模拟背景的另一个图像控件(然后还必须移动我的透明 PNG 以包含在其中)......我们是在测试后期,所以变化越少越好。

“背景”确实不是典型的背景,它上面有文字和重要内容,不应该隐藏。当然,如果设计不好,你可以 -1 我,但是,嘿,它似乎在这个小问题之前一直有效;)

【问题讨论】:

    标签: c# winforms high-contrast


    【解决方案1】:

    这只是一个猜测:如果您使用单色图像,它会隐藏图像吗?然后您可以在运行时检查(System.Windows.Forms.SystemInformation.HighContrast 用于 WinForms 或 System.Windows.SystemParameters.HighContrast 用于 WPF)并将其设置为适当的图像。

    【讨论】:

    • 我最终只是在 OnPaint 中绘制它: e.Graphics.DrawImage(new Bitmap(BackgroundImage), 0, 0); -- 如果没有其他人给出更好的答案,我会将你的答案标记为答案,因为如果我需要走另一条路线,检查 HighContrast 的属性会有所帮助(比如只显示文本而不是我的图像的标签)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多