Version

BeforeColRegionSize Event

Occurs before two adjacent column scrolling regions are sized.
Syntax
'Declaration
 
Public Event BeforeColRegionSize As BeforeColRegionSizeEventHandler
public event BeforeColRegionSizeEventHandler BeforeColRegionSize
Event Data

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

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

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

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

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

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

The BeforeColRegionSplit event is generated before a colscrollregion is split into two colscrollregions.

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

Example
Following code illustrates how you can use combination of BeforeColRegionSplit and BeforeColRegionSize events to prevent the user from resizing any of the column scroll regions too small.

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_BeforeColRegionSplit(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeColRegionSplitEventArgs) Handles ultraGrid1.BeforeColRegionSplit

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

          ' Also cancel if the column scroll region being split would end up being less
          ' than 100 pixels as a result of the split.
      ElseIf e.OriginalColScrollRegion.Width - e.NewColScrollRegion.Width < 100 Then
          e.Cancel = True
      End If

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

  End Sub

  Private Sub UltraGrid1_BeforeColRegionSize(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeColRegionSizeEventArgs) Handles ultraGrid1.BeforeColRegionSize

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

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

private void ultraGrid1_BeforeColRegionSplit(object sender, Infragistics.Win.UltraWinGrid.BeforeColRegionSplitEventArgs e)
{
	// If the new scroll region is smaller than 100 pixels, then cancel the event
	// so the UltraGrid doesn't proceed with the region split.
	if ( e.NewColScrollRegion.Width < 100 )
		e.Cancel = true;

	// Also cancel if the column scroll region being split would end up being less
	// than 100 pixels as a result of the split.
	else if ( e.OriginalColScrollRegion.Width - e.NewColScrollRegion.Width < 100 )
		e.Cancel = true;

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

private void ultraGrid1_BeforeColRegionSize(object sender, Infragistics.Win.UltraWinGrid.BeforeColRegionSizeEventArgs 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 100, then cancel it.			
	if ( e.Region1.Width < 100 || e.Region2.Width < 100 )
	{
		e.Cancel = true;

		MessageBox.Show( "You cannot resize a column scroll region smaller than 100 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