c#覆盖背景图像的高对比度

c# Override high-contrast for background image

我找不到这个问题的答案:

我的表单上有一张背景图片,我希望它即使在系统处于高对比度模式时也能保持可见。是否可以输入覆盖HC模式的代码?

我已经在 Form Load 活动中尝试过,但没有成功 - 没有图形定义。 (不确定这是否是一个可行的解决方案):

OnPaint: e.Graphics.DrawImage(new Bitmap(BackgroundImage), 0, 0);

除了在我的表单中创建一个 PictureBox 并以这种方式放置图像之外,有谁知道始终显示表单 BG 图像的方法吗?

重写 OnPaintBackground 方法:

protected override void OnPaintBackground(PaintEventArgs e)
{
    e.Graphics.DrawImage(new Bitmap(BackgroundImage), e.ClipRectangle);
}

DrawImage 重载将拉伸图像以适合矩形。如果 ClipRectangle 不起作用(抱歉,我现在无法测试它!),创建一个新的 Rectangle 背景尺寸