uwekeim icon

Simulate an ItemCheckedChanging event

uwekeim | PRO | 01/07/14 02:26:31 PM UTC | 0 ⭐ | 581 👁️ | Never ⏰ | []
JavaScript |

1.07 KB

|

None

|

0 👍

/

0 👎

// Simulate a currently non-existing pre-change event
// in DevExpress WinForms 13.2.5
// See http://www.devexpress.com/Support/Center/Question/Details/Q560491
 
public class MyGalleryControlGallery :
    GalleryControlGallery
{
    // ...
 
    private GalleryItem MyLastCheckedItem { get; set; }
    internal bool DuringCancelOfCheckChanged { get; set; }
 
    protected override void OnCheckedChanged(GalleryItem item, bool forceSetItemCheck)
    {
        if (DuringCancelOfCheckChanged) return;
 
        var lastItem = MyLastCheckedItem;
 
        var args = new GalleryItemCheckChangingEventArgs
        {
            CurrentItem = lastItem,
            NewItem = item,
            Force = forceSetItemCheck
        };
 
        // Call my own, new event handler.
        OnItemCheckedChanging(args);
 
        if (args.Cancel)
        {
            DuringCancelOfCheckChanged = true;
            try
            {
                if (lastItem != null) lastItem.Checked = true;
                item.Checked = false;
            }
            finally
            {
                DuringCancelOfCheckChanged = false;
            }
        }
        else
        {
            base.OnCheckedChanged(item, forceSetItemCheck);
            MyLastCheckedItem = item;
        }
    }
 
    // ...
}

Comments