Category / Section
How to enable or disable button based on Undo or Redo operations in WinForms GridControl?
1 min read
Undo Redo operation
To enable or disable Undo/Redo operations, CommandStack property can be used. The CommandStack maintains the Undo and Redo operations based on the Stack structure.
C#
private void gridControl1_CellsChanged(object sender, GridCellsChangedEventArgs e) { //Enabling or disabling Undo and Redo buttons. if (this.gridControl1.CommandStack.UndoStack.Count > 0) { this.BtnUndo.Enabled =this.gridControl1.CommandStack.UndoStack.Count > 0; } if (this.gridControl1.CommandStack.RedoStack.Count > 0) { this.btnRedo.Enabled = this.gridControl1.CommandStack.RedoStack.Count > 0; } }
VB
Private Sub gridControl1_CellsChanged(ByVal sender As Object, ByVal e As GridCellsChangedEventArgs) 'Enabling or disabling Undo and Redo buttons. If Me.gridControl1.CommandStack.UndoStack.Count > 0 Then Me.BtnUndo.Enabled =Me.gridControl1.CommandStack.UndoStack.Count > 0 End If If Me.gridControl1.CommandStack.RedoStack.Count > 0 Then Me.btnRedo.Enabled = Me.gridControl1.CommandStack.RedoStack.Count > 0 End If End Sub
Screenshot
Samples:
C#: Undo_Redo_CS
VB: Undo_Redo_VB