Last Updated: 15 Aug 2017 11:03 by ADMIN
Dess | Tech Support Engineer, Sr.
Created on: 26 May 2017 12:26
Category: Scheduler/Reminder
Type: Bug Report
FIX. RadScheduler - resizing appointments in right to left mode works in reversed direction
To reproduce:
            this.radScheduler1.ActiveViewType = Telerik.WinControls.UI.SchedulerViewType.Timeline;
            this.radScheduler1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;

Please refer to the attached gif file. Select the left border of an appointment and try to resize it to the left. You will notice that you are allowed to resize it to the right and vice versa.

Workaround:           this.radScheduler1.SchedulerElement.ResizeBehavior = new MyResizingBehavior(this.radScheduler1.SchedulerElement);

public class MyResizingBehavior : AppointmentResizingBehavior
    RadScheduler scheduler;

    public MyResizingBehavior(SchedulerVisualElement activeOwner)
        : base(activeOwner)
        scheduler = activeOwner.Scheduler;

    protected override bool UpdateMouseCursor(Point mousePosition, Rectangle nearRect, Rectangle farRect)
        bool result = base.UpdateMouseCursor(mousePosition, nearRect, farRect);
        if (scheduler.RightToLeft == RightToLeft.Yes )
            FieldInfo leftFI = typeof(AppointmentResizingBehavior).GetField("leftResize", BindingFlags.NonPublic | BindingFlags.Instance);
            FieldInfo rightFI = typeof(AppointmentResizingBehavior).GetField("rightResize", BindingFlags.NonPublic | BindingFlags.Instance);

            if (nearRect.Contains(mousePosition) && scheduler.Cursor == Cursors.SizeWE)
                leftFI.SetValue(this, false);
                rightFI.SetValue(this, true);
            else if (farRect.Contains(mousePosition) && scheduler.Cursor == Cursors.SizeWE)
                leftFI.SetValue(this, true);
                rightFI.SetValue(this, false);
        return result;
(Total attached files size should be smaller than 20mb. Allowed extensions: .zip, .rar, .jpg, .png, .gif)