バージョン

BeforeExitEditMode イベント (UltraGrid)

セルが編集モードを終了する前に発生します。
シンタックス
'宣言
 
Public Event BeforeExitEditMode As BeforeExitEditModeEventHandler
public event BeforeExitEditModeEventHandler BeforeExitEditMode
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、BeforeExitEditModeEventArgs 型の引数を受け取りました。次の BeforeExitEditModeEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Cancel System.ComponentModel.CancelEventArgsから継承されます。 
CancellingEditOperation 編集操作がキャンセルされたかどうかを示す値を返します。
ForceExit 強制的に編集モードを抜けるかどうかを示す値を返します。
解説

cancel 引数を使用して、セルが編集モードを終了しないようにプログラミングできます。この引数は、一定の条件が満たされない限り、セルが編集モードを終了しないようにすることが可能です。

セルが編集モードでない場合、コントロールの IsInEditMode プロパティは False に設定されます。

cancel を True に設定しない場合、このイベントの後に AfterExitEditMode イベント (セルが編集モードを終了した後で発生するイベント) が発生します。

BeforeEnterEditMode イベントは、セルが編集モードに入る前に生成されます。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid

  Private Sub UltraGrid1_BeforeExitEditMode(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeExitEditModeEventArgs) Handles ultraGrid1.BeforeExitEditMode

      ' If the user is canceling the modifications (for example by hitting Escape 
      ' key, then just return because the cell will revert to its original value
      ' in this case and not commit the user's input.
      If e.CancellingEditOperation Then Return

      ' See if the cell in edit mode is from CustomerID column.
      If Me.ultraGrid1.ActiveCell.Column.Key = "CustomerID" Then
          If Me.ultraGrid1.ActiveCell.Text.Length < 4 Then
              ' If the length of the input text is less than 4, then show a message
              ' box to the user.
              MessageBox.Show("Customer ID must be at least 4 characters wide.", _
                              "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

              ' If ForceExit is true, then the UltraGrid will exit the edit mode
              ' regardless of whether you cancel this event or not. ForceExit would
              ' be true for example when the UltraGrid is being disposed of and thus
              ' it can't stay in edit mode. In which case setting Cancel won't do
              ' any good so just cancel the update to revert the cell's value back
              ' to its original value.
              If e.ForceExit Then
                  ' If the UltraGrid must exit the edit mode, then cancel the
                  ' cell update so the original value gets restored in the cell.
                  Me.ultraGrid1.ActiveCell.CancelUpdate()
                  Return
              End If

              ' In normal circumstances where ForceExit is false, set Cancel to 
              ' true so the UltraGrid doesn't exit the edit mode.
              e.Cancel = True
          End If
      End If

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

private void ultraGrid1_BeforeExitEditMode(object sender, Infragistics.Win.UltraWinGrid.BeforeExitEditModeEventArgs e)
{

	// If the user is canceling the modifications (for example by hitting Escape 
	// key, then just return because the cell will revert to its original value
	// in this case and not commit the user's input.
	if ( e.CancellingEditOperation )
		return;

	// See if the cell in edit mode is from CustomerID column.
	if ( this.ultraGrid1.ActiveCell.Column.Key == "CustomerID" )
	{
		if ( this.ultraGrid1.ActiveCell.Text.Length < 4 )
		{
			// If the length of the input text is less than 4, then show a message
			// box to the user.
			MessageBox.Show( 
				"Customer ID must be at least 4 characters wide.", 
				"Input Error",
				MessageBoxButtons.OK,
				MessageBoxIcon.Error );

			// If ForceExit is true, then the UltraGrid will exit the edit mode
			// regardless of whether you cancel this event or not. ForceExit would
			// be true for example when the UltraGrid is being disposed of and thus
			// it can't stay in edit mode. In which case setting Cancel won't do
			// any good so just cancel the update to revert the cell's value back
			// to its original value.
			if ( e.ForceExit )
			{
				// If the UltraGrid must exit the edit mode, then cancel the
				// cell update so the original value gets restored in the cell.
				this.ultraGrid1.ActiveCell.CancelUpdate( );
				return;
			}

			// In normal circumstances where ForceExit is false, set Cancel to 
			// true so the UltraGrid doesn't exit the edit mode.
			e.Cancel = true;
		}
	}

}
参照