Version

BeforeRowRegionSize Event

Occurs before a row scrolling region object is resized.
Syntax
'Declaration
 
Public Event BeforeRowRegionSize As BeforeRowRegionSizeEventHandler
public event BeforeRowRegionSizeEventHandler BeforeRowRegionSize
Event Data

The event handler receives an argument of type BeforeRowRegionSizeEventArgs containing data related to this event. The following BeforeRowRegionSizeEventArgs properties provide information specific to this event.

PropertyDescription
Cancel (Inherited from System.ComponentModel.CancelEventArgs) 
Region1 The row scroll region 1 (read-only)
Region2 The row scroll region 2 (read-only)
Remarks

The region1 argument returns a reference to a RowScrollRegion object that can be used to set properties of, and invoke methods on, the top rowscrollregion that will be sized. You can use this reference to access any of the returned rowscrollregion's properties or methods. However, the Height property of this rowscrollregion is read-only in this event procedure.

The region2 argument returns a reference to a RowScrollRegion object that can be used to set properties of, and invoke methods on, the bottom rowscrollregion that will be sized. You can use this reference to access any of the returned rowscrollregion's properties or methods. However, the Height property of this rowscrollregion is read-only in this event procedure.

The cancel argument enables you to programmatically prevent the rowscrollregions from sizing. This argument can be used to prevent the user from resizing the rowscrollregions unless a certain condition is met. To prevent users from actually moving the rowscrollregion's splitter bar, set its SizingMode property to 0 (SizingModeFixed).

This event is generated before a rowscrollregion is sized, either programmatically, or by user interaction. A rowscrollregion can be sized programmatically by setting its Height property. Because rowscrollregions are vertical scrolling regions, the width of all rowscrollregions will always be identical. Attempting to set the Height property of a rowscrollregion being sized in this event procedure, however, will generate an error.

The BeforeRowRegionSplit event is generated before a rowscrollregion is split into two rowscrollregions.

The AfterRowRegionSize event, which occurs after a rowscrollregion was sized, is generated after this event, provided cancel is not set to True.

Example
Following code illustrates how you can use combination of BeforeRowRegionSplit and BeforeRowRegionSize events to prevent the user from resizing any of the row scroll regions too small. BeforeRowRegionSize event gets fired when the user resizes any of the existing row scroll regions and BeforeRowRegionSplit gets fired when the user splits a row scroll region.

For an overview of how to handle events in Visual Basic or Visual C#, see Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see Consuming Events in the .NET Framework Developer's Guide.

Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid

  Private Sub UltraGrid1_BeforeRowRegionSplit(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeRowRegionSplitEventArgs) Handles ultraGrid1.BeforeRowRegionSplit

      ' If the new scroll region is smaller than 50 pixels, then cancel the event
      ' so the UltraGrid doesn't proceed with the region split.
      If e.NewRowScrollRegion.Height < 50 Then
          e.Cancel = True

          ' Also cancel if the row scroll region being split would end up being less
          ' than 50 pixels as a result of the split.
      ElseIf e.OriginalRowScrollRegion.Height - e.NewRowScrollRegion.Height < 50 Then
          e.Cancel = True
      End If

      If e.Cancel Then
          MessageBox.Show("You cannot split a row scroll region smaller than 50 pixels.")
      End If

  End Sub

  Private Sub UltraGrid1_BeforeRowRegionSize(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeRowRegionSizeEventArgs) Handles ultraGrid1.BeforeRowRegionSize

      ' If the user resizes a scroll region in such a way so that any of the
      ' effected scroll regions ends up being less than 50, then cancel it.			
      If e.Region1.Height < 50 Or e.Region2.Height < 50 Then
          e.Cancel = True
          MessageBox.Show("You cannot resize a row scroll region smaller than 50 pixels.")
      End If

  End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

private void ultraGrid1_BeforeRowRegionSplit(object sender, Infragistics.Win.UltraWinGrid.BeforeRowRegionSplitEventArgs e)
{

	// If the new scroll region is smaller than 50 pixels, then cancel the event
	// so the UltraGrid doesn't proceed with the region split.
	if ( e.NewRowScrollRegion.Height < 50 )
		e.Cancel = true;

	// Also cancel if the row scroll region being split would end up being less
	// than 50 pixels as a result of the split.
	else if ( e.OriginalRowScrollRegion.Height - e.NewRowScrollRegion.Height < 50 )
		e.Cancel = true;

	if ( e.Cancel )
	{
		MessageBox.Show( "You cannot split a row scroll region smaller than 50 pixels." );
	}

}

private void ultraGrid1_BeforeRowRegionSize(object sender, Infragistics.Win.UltraWinGrid.BeforeRowRegionSizeEventArgs e)
{

	// If the user resizes a scroll region in such a way so that any of the
	// effected scroll regions ends up being less than 50, then cancel it.			
	if ( e.Region1.Height < 50 || e.Region2.Height < 50 )
	{
		e.Cancel = true;

		MessageBox.Show( "You cannot resize a row scroll region smaller than 50 pixels." );
	}

}
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also