Проблема в том, что дочерние окна MDI являются дочерними для окна клиента MDI.Тот, с темно-серым фоном.Любой элемент управления, который вы поместите в родительский объект MDI, будет иметь более высокий Z-порядок и перекрывать окно клиента MDI.И, таким образом, любое дочернее окно MDI.Вы можете прикрепить элемент управления к краю, и Winforms автоматически уменьшит окно клиента MDI, чтобы соответствовать оставшемуся пространству.Что нужно сделать для кнопки, поместите ее на панель и закрепите на панели.Но это не поможет для изображения.
Из-за Winforms немного сложнее получить ссылку на окно клиента MDI, вам нужно перебрать коллекцию Controls родительского MDI, чтобы найти ее обратно.Вот так:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.IsMdiContainer = true;
foreach (Control ctl in this.Controls) {
if (ctl is MdiClient) {
ctl.BackgroundImage = Properties.Resources.Chrysanthemum;
ctl.BackgroundImageLayout = ImageLayout.Center; // doesn't work
break;
}
}
}
}
Обратите внимание на комментарий, исправить это намного сложнее, чем я рассчитывал.Реализация события Paint для окна - вариант, но он мерцает, как дешевый мотель.