4

アプリケーションで親 mdi の背景色または背景画像を変更する必要があります。背景色を変更したり、背景画像を指定しようとしましたが、うまくいきません。また、フォーム内のコントロールをループして mdiclient を取得し、その背景色を変更しようとしましたが、同じ結果はありませんでした。

4

5 に答える 5

1

多分これは助けになるでしょうか?http://support.microsoft.com/kb/319465

于 2010-03-30T13:21:31.817 に答える
1
Private ClientControl As MdiClient

    Public Sub New()
        InitializeComponent()

        ClientControl = Nothing
        For Each Ctl As Control In Me.Controls
            ClientControl = TryCast(Ctl, MdiClient)
            If ClientControl IsNot Nothing Then Exit For
        Next
    End Sub

'iN FORM LOAD

ClientControl.BackColor = Color.Cyan
于 2012-03-07T15:49:36.060 に答える
0

これを試してください、うまくいきます。

foreach (Control control in this.Controls)
{

    // #2
    MdiClient client = control as MdiClient;
    if (!(client == null))
    {
        // #3
        client.BackColor = GetYourColour();
        // 4#
        break;
    }

}
于 2013-04-06T07:15:39.130 に答える
0

単純な色を使用している場合は、以下のコードを試してください。画像を設定しようとしている場合は、BackgroundImageLayout で BackgroundImage を使用できます。

 MdiClient ctlMDI;
            foreach (Control ctl in this.Controls)
            {
                try
                {
                    ctlMDI = (MdiClient)ctl;

                    // Set the BackColor of the MdiClient control.
                    ctlMDI.BackColor = Color.DarkRed;
                }
                catch (InvalidCastException exc)
                {
                    // Catch and ignore the error if casting failed.
                }
            }
于 2012-02-16T15:09:47.470 に答える