Это не сработает, вы скоро это обнаружите, когда начнете создавать окна клиента MDI.Окно изображения всегда находится над окнами клиента.Требуется нарисовать изображение в окне клиента MDI, темно-серое окно на ваших скриншотах.Это занимает довольно много необычного кода, вы должны получить ссылку на этот элемент управления, чтобы вы могли реализовать для него собственное событие Paint.Вы также должны знать, что размер окна изменяется, чтобы вы могли перекрасить изображение в новом месте.И вы должны сделать что-то с мерцанием, которое вы обычно видите.Сделайте так, чтобы ваш код выглядел примерно так:
using System.Reflection;
...
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
foreach (Control ctl in this.Controls) { // Find the MDI client window
if (ctl is MdiClient) {
ctl.Paint += new PaintEventHandler(MdiClient_Paint);
ctl.Resize += delegate { ctl.Invalidate(); };
// Hackorama to avoid flicker:
var dblBuf = ctl.GetType().GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance);
dblBuf.SetValue(ctl, true, null);
break;
}
}
}
void MdiClient_Paint(object sender, PaintEventArgs e) {
var client = (MdiClient)sender;
using (var bmp = Properties.Resources.Logo) { // change this
e.Graphics.DrawImage(bmp, new Point(client.ClientSize.Width - bmp.Width, 0));
}
}
}