Completed
Last Updated: 12 Jun 2025 07:58 by ADMIN
Release 2025.2.612 (Preview)
Nadya
Created on: 26 May 2025 11:34
Category: Form
Type: Bug Report
5
RadForm: ClientSize on inherited RadForm is broken

 This issue starts happening as of Q2 (2025.2.520) version.

Workaround: override SetClientSizeCore() inside of inherited RadForm

public partial class RadForm2 : RadForm1
{
    protected override void SetClientSizeCore(int x, int y)
    {
        base.SetClientSizeCore(x, y);

        if ((!this.IsLoaded || !this.IsHandleCreated) &&
            this.IsInitialized)
        {
            MethodInfo mi = typeof(Form).GetMethod("SetClientSizeCore", BindingFlags.NonPublic | BindingFlags.Instance);
            if (mi != null)
            {
                IntPtr ptr = mi.MethodHandle.GetFunctionPointer();
                Action<int, int> baseSetClientSizeCore = (Action<int, int>)Activator.CreateInstance(
                    typeof(Action<int, int>), this, ptr);

                baseSetClientSizeCore.Invoke(x, y);
            }
        }
    }
}

 

 

0 comments