DataGridViewCellValidatingEventHandler 代理人


CellValidating コントロールの DataGridView イベントを処理するメソッドを表します。Represents the method that will handle the CellValidating event of a DataGridView control.

public delegate void DataGridViewCellValidatingEventHandler(System::Object ^ sender, DataGridViewCellValidatingEventArgs ^ e);
public delegate void DataGridViewCellValidatingEventHandler(object sender, DataGridViewCellValidatingEventArgs e);
type DataGridViewCellValidatingEventHandler = delegate of obj * DataGridViewCellValidatingEventArgs -> unit
Public Delegate Sub DataGridViewCellValidatingEventHandler(sender As Object, e As DataGridViewCellValidatingEventArgs)



イベントの送信元への参照。A reference to the event sender.


イベント データを格納している DataGridViewCellValidatingEventArgsA DataGridViewCellValidatingEventArgs that contains the event data.


次のコード例ではCellValidating 、イベントを処理して、ユーザーが正の整数のみを入力するようにします。The following code example handles the CellValidating event to ensure that only positive integers are entered by the user. この例は、 VirtualModeリファレンストピックで使用できるより大きな例の一部です。This example is part of a larger example available in the VirtualMode reference topic.

void VirtualConnector::dataGridView1_CellValidating
    (Object^ sender, DataGridViewCellValidatingEventArgs^ e)
    int newInteger;

    // Don't try to validate the 'new row' until finished 
    // editing since there
    // is not any point in validating its initial value.
    if (dataGridView1->Rows[e->RowIndex]->IsNewRow) 
    if (!Int32::TryParse(e->FormattedValue->ToString(), 
        newInteger) || (newInteger < 0))
        e->Cancel = true;
private void dataGridView1_CellValidating(object sender,
    DataGridViewCellValidatingEventArgs e)
    dataGridView1.Rows[e.RowIndex].ErrorText = "";
    int newInteger;

    // Don't try to validate the 'new row' until finished 
    // editing since there
    // is not any point in validating its initial value.
    if (dataGridView1.Rows[e.RowIndex].IsNewRow) { return; }
    if (!int.TryParse(e.FormattedValue.ToString(),
        out newInteger) || newInteger < 0)
        e.Cancel = true;
        dataGridView1.Rows[e.RowIndex].ErrorText = "the value must be a non-negative integer";
Private Sub dataGridView1_CellValidating(ByVal sender As Object, _
    ByVal e _
    As DataGridViewCellValidatingEventArgs) _
    Handles dataGridView1.CellValidating

    Me.dataGridView1.Rows(e.RowIndex).ErrorText = ""
    Dim newInteger As Integer

    ' Don't try to validate the 'new row' until finished 
    ' editing since there
    ' is not any point in validating its initial value.
    If dataGridView1.Rows(e.RowIndex).IsNewRow Then Return
    If Not Integer.TryParse(e.FormattedValue.ToString(), newInteger) _
        OrElse newInteger < 0 Then

        e.Cancel = True
        Me.dataGridView1.Rows(e.RowIndex).ErrorText = "the value must be a non-negative integer"

    End If
End Sub


イベントCellValidatingは、セルが入力フォーカスを失ったときに、コンテンツの検証を有効にするときに発生します。The CellValidating event occurs when a cell loses input focus, enabling content validation. このイベントを取り消すと、現在のセルに対する変更が取り消されます。Canceling this event cancels the changes to the current cell. このイベントがデータバインドモードで取り消された場合、新しい値は基になるデータソースにプッシュされません。When this event is canceled in data-bound mode, the new value is not pushed to the underlying data source. このイベントが仮想モードCellValuePushedで取り消されると、イベントは発生しません。When this event is canceled in virtual mode, the CellValuePushed event will not be raised.

DataGridViewCellValidatingEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを指定します。When you create a DataGridViewCellValidatingEventHandler delegate, you identify the method that will handle the event. イベントをイベント ハンドラーに関連付けるには、デリゲートのインスタンスをイベントに追加します。To associate the event with your event handler, add an instance of the delegate to the event. デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラーが呼び出されます。The event handler is called whenever the event occurs, unless you remove the delegate. イベントハンドラーデリゲートの詳細については、「イベントの処理と発生」を参照してください。For more information about event-handler delegates, see Handling and Raising Events.



指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。Gets an object that represents the method represented by the specified delegate.