CancelEventArgs.Cancel 属性

定义

获取或设置一个值,该值指示是否应取消事件。

public:
 property bool Cancel { bool get(); void set(bool value); };
public bool Cancel { get; set; }
member this.Cancel : bool with get, set
Public Property Cancel As Boolean

属性值

true 如果应取消事件,则为否则,为 false.

示例

下面的示例使用 CancelEventArgs 和一个 CancelEventHandler 处理 FormClosing 事件 Form。 此代码假定你已使用名为 的类级变量创建了一个 。 它还假定已添加一个语句,用于从窗体OtherInitialize的方法或构造函数(调用Load后)调用InitializeComponent该方法。

private:
   // Call this method from the InitializeComponent() method of your form
   void OtherInitialize()
   {
      this->Closing += gcnew CancelEventHandler( this, &Form1::Form1_Cancel );
      this->myDataIsSaved = true;
   }

   void Form1_Cancel( Object^ /*sender*/, CancelEventArgs^ e )
   {
      if ( !myDataIsSaved )
      {
         e->Cancel = true;
         MessageBox::Show( "You must save first." );
      }
      else
      {
         e->Cancel = false;
         MessageBox::Show( "Goodbye." );
      }
   }
// Call this method from the constructor of your form
void OtherInitialize()
{
    Closing += Form1_Closing;
    // Exchange commented line and note the difference.
    isDataSaved = true;
    //this.isDataSaved = false;
}

void Form1_Closing(object sender, CancelEventArgs e)
{
    if (!isDataSaved)
    {
        e.Cancel = true;
        _ = MessageBox.Show("You must save first.");
    }
    else
    {
        e.Cancel = false;
        _ = MessageBox.Show("Goodbye.");
    }
}
' Call this method from the Load method of your form.
Private Sub OtherInitialize()
    ' Exchange commented line and note the difference.
    Me.isDataSaved = True
    'Me.isDataSaved = False
End Sub

Private Sub Form1_Closing(sender As Object, e As _
   System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    If Not isDataSaved Then
        e.Cancel = True
        MessageBox.Show("You must save first.")
    Else
        e.Cancel = False
        MessageBox.Show("Goodbye.")
    End If
End Sub

适用于