In Development
Last Updated: 16 Mar 2026 12:38 by ADMIN
The size of RadForm under Windows XP is incorrect when its initial state as MDI child is Maximized and after that the state is changed to Normal.

Workaround:
Imports Telerik.WinControls.UI

Public Class BaseRadForm
    Inherits RadForm 

    Private Shared LastWindowState As FormWindowState = FormWindowState.Normal
    Private Shared suspendClientSizeChangedFlag As Boolean = False
 
    Protected Overrides Sub OnResizeBegin(ByVal e As System.EventArgs)
        Me.MaximumSize = New Size(0, 0)
        MyBase.OnResizeBegin(e) 
    End Sub
     
    Protected Overrides Sub OnActivated(ByVal e As System.EventArgs)
        Me.MaximumSize = New Size(0, 0)
        MyBase.OnActivated(e)
    End Sub

    Protected Overrides Sub OnDeactivate(ByVal e As System.EventArgs)
        Me.MaximumSize = New Size(0, 0)
        MyBase.OnDeactivate(e)
    End Sub

    Protected Overrides Sub OnClientSizeChanged(ByVal e As System.EventArgs)
        Dim osInfo As System.OperatingSystem = System.Environment.OSVersion
        If (suspendClientSizeChangedFlag OrElse osInfo.Version.Major >= 6) Then
            Return
        End If

        If Not LastWindowState.Equals(Me.WindowState) Then
            LastWindowState = Me.WindowState
            If Me.WindowState.Equals(FormWindowState.Normal) Then
                suspendClientSizeChangedFlag = True
                Me.MaximumSize = New Size(500, 500)
                suspendClientSizeChangedFlag = False
            ElseIf Me.WindowState.Equals(FormWindowState.Maximized) Then
                Me.MaximumSize = New Size(0, 0)
            End If
        Else
            Me.MaximumSize = New Size(0, 0)
        End If

        MyBase.OnClientSizeChanged(e)

    End Sub


End Class
In Development
Last Updated: 16 Mar 2026 11:02 by ADMIN
When the RadForm is used as MDI Child hosted by RadDock, the rendering of the form is not appropriate.