Advertisement
uwekeim

Simulate an ItemCheckedChanging event

Jan 7th, 2014
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Simulate a currently non-existing pre-change event
  2. // in DevExpress WinForms 13.2.5
  3. // See http://www.devexpress.com/Support/Center/Question/Details/Q560491
  4.  
  5. public class MyGalleryControlGallery :
  6.     GalleryControlGallery
  7. {
  8.     // ...
  9.  
  10.     private GalleryItem MyLastCheckedItem { get; set; }
  11.     internal bool DuringCancelOfCheckChanged { get; set; }
  12.  
  13.     protected override void OnCheckedChanged(GalleryItem item, bool forceSetItemCheck)
  14.     {
  15.         if (DuringCancelOfCheckChanged) return;
  16.  
  17.         var lastItem = MyLastCheckedItem;
  18.  
  19.         var args = new GalleryItemCheckChangingEventArgs
  20.         {
  21.             CurrentItem = lastItem,
  22.             NewItem = item,
  23.             Force = forceSetItemCheck
  24.         };
  25.  
  26.         // Call my own, new event handler.
  27.         OnItemCheckedChanging(args);
  28.  
  29.         if (args.Cancel)
  30.         {
  31.             DuringCancelOfCheckChanged = true;
  32.             try
  33.             {
  34.                 if (lastItem != null) lastItem.Checked = true;
  35.                 item.Checked = false;
  36.             }
  37.             finally
  38.             {
  39.                 DuringCancelOfCheckChanged = false;
  40.             }
  41.         }
  42.         else
  43.         {
  44.             base.OnCheckedChanged(item, forceSetItemCheck);
  45.             MyLastCheckedItem = item;
  46.         }
  47.     }
  48.  
  49.     // ...
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement