2

以下のコードを使用して MdiParent フォームの背景画像を設定していますが、うまく機能していますが、最大化ボタンをクリックすると、BackgroundImage が右側と下端で繰り返されます (つまり、右側と下側の画像部分が繰り返されます)。私はこれを回避し、画像を適切に表示しますか?

public Parent()
{
    InitializeComponent();

    foreach (Control ctl in this.Controls)
    {
        if (ctl is MdiClient)
        {
            ctl.BackgroundImage = Properties.Resources.bg;
            ctl.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            break;
        }
    }
}
4

3 に答える 3

6
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

thisフォームを指します。

私もあなたが言及したのと同じ行動に気づきました。単なる塗装の問題のようです。次のコードを追加して修正します。

protected override void OnSizeChanged(EventArgs e)
{
    base.OnSizeChanged(e);
    this.Refresh();
}
于 2013-10-22T14:18:07.763 に答える