Skip to content

DevExpress-Examples/winforms-grid-show-gif-animation-in-row-indicator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WinForms Data Grid - Display a GIF animation in the row indicator

This example shows how to handle the CustomDrawRowIndicator event to display a GIF animation in the row indicator of the focused row.

private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e) {
  GridView view = (GridView)sender;
  if ( e.RowHandle != view.FocusedRowHandle || !view.IsDataRow(e.RowHandle) || imgToDraw == null )
    return;
  e.Info.ImageIndex = -1;
  Point imgLocation = new Point();
  imgLocation.Y = e.Bounds.Y + e.Bounds.Size.Height / 2 - imgToDraw.Size.Height / 2;
  imgLocation.X = e.Bounds.X + e.Bounds.Size.Width / 2 - imgToDraw.Size.Width / 2;
  e.Painter.DrawObject(e.Info);
  e.Cache.DrawImage(imgToDraw, imgLocation);			
  e.Handled = true;
}

We created a helper class (AnimatedGifImageHelper) to obtain animation frames and draw them as static images (the Image class). The Timer's Interval property specifies the animation speed (the longer the interval, the slower the animation).

private void timer1_Tick(object sender, EventArgs e) {
  imgToDraw = gifHelper.GetNextFrame();
  // Redraws the row indicator cell that corresponds to the focused row.
  gridView1.InvalidateRowIndicator(gridView1.FocusedRowHandle);
}

Files to Review

Documentation

Does this example address your development requirements/objectives?

(you will be redirected to DevExpress.com to submit your response)