다음을 통해 공유


FormEvents.Submit 이벤트

사용자 인터페이스에서 전송 명령을 사용하거나 Submit 메서드를 사용할 경우에 발생합니다.

네임스페이스: Microsoft.Office.InfoPath
어셈블리: Microsoft.Office.InfoPath(microsoft.office.infopath.dll)

구문

Public Event Submit As SubmitEventHandler

Dim instance As FormEvents
Dim handler As SubmitEventHandler

AddHandler instance.Submit, handler
public abstract event SubmitEventHandler Submit

예외

예외 형식 조건

InvalidOperationException

개발자가 InternalStartup 메서드가 아닌 다른 위치의 이벤트를 바인딩하려고 했습니다.

주의

중요:

Submit 이벤트는 양식 코드에서 개발자가 인스턴스화하지 않습니다. Microsoft Office InfoPath 2007 디자인 모드 사용자 인터페이스에서 양식 수준 이벤트에 대해서만 이벤트 처리기를 추가해야 합니다. 디자인 모드 사용자 인터페이스에서 양식 서식 파일에 이벤트 처리기를 추가하면 InfoPath에서 EventManager 클래스와 FormEvents 클래스의 구성원으로 양식 코드의 InternalStartup 메서드를 생성하여 이벤트를 해당 이벤트 처리기에 바인딩합니다. InfoPath 디자인 모드에서 이벤트 처리기를 추가하는 방법에 대한 자세한 내용은 방법: 이벤트 처리기 추가를 참고하십시오.

Submit 이벤트는 양식 서식 파일에서 전송 옵션 대화 상자의 코드를 사용하여 사용자 지정 작업 수행 옵션을 설정한 경우에만 발생합니다.

Submit 이벤트는 SubmitEventHandler 대리자를 사용하여 바인딩됩니다.

Submit 이벤트는 MergeEventArgs 클래스의 CancelableArgs 속성을 사용하여 취소할 수 있습니다. Cancel 속성을 true로 설정하면 됩니다.

이벤트 처리기 코드가 CancelableArgs 속성을 사용하여 Message 또는 MessageDetails 속성의 문자열을 설정하고 CancelableArgs.Cancel 속성은 기본 설정인 false로 두는 경우 MessageMessageDetails 속성의 텍스트와 함께 성공 메시지가 표시됩니다. 이 메시지는 양식 전송 옵션 대화 상자의 성공 및 실패 메시지 표시 및 성공한 경우 사용자 지정 메시지 설정을 덮어씁니다.

마찬가지로 이벤트 처리기 코드가 Message 또는 MessageDetails 문자열을 설정하고 CancelableArgs.Canceltrue로 설정하면 실패 메시지가 표시됩니다. MessageMessageDetails 속성의 텍스트와 함께 메시지가 표시되고 양식 전송 옵션 대화 상자 설정을 덮어씁니다.

이벤트 처리기 코드가 MessageMessageDetails 속성을 기본값인 null로 남겨 두고 CancelableArgs.Canceltrue로 설정하는 경우 전송 작업이 실패한 것으로 간주됩니다. 실패 메시지가 표시될지 여부 및 표시되는 메시지는 전송 옵션 대화 상자의 설정에 따라 결정됩니다.

Submit 이벤트 처리기에서는 Application 클래스의 Quit 메서드를 호출할 수 없습니다.

이 형식 또는 구성원은 Microsoft Office InfoPath 2007 또는 웹 브라우저에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.

예제

다음 예제에서는 Submit 이벤트에 대한 이벤트 처리기를 사용하여 저장되지 않은 양식이 전송되지 않도록 합니다.

public void FormEvents_Submit(object sender, SubmitEventArgs e)
{
   if(this.Dirty || this.New)
      MessageBox.Show("Please save this form before submitting it.");
      e.CancelableArgs.Cancel = true;
   else
      e.CancelableArgs.Message = "Submit succeeded.";
}
Public Sub FormEvents_Submit(ByVal sender As Object, _
   ByVal e As SubmitEventArgs)
   If(Me.Dirty Or Me.New) Then
      MessageBox.Show("Please save this form before submitting it.")
      e.CancelableArgs.Cancel = True
   Else
      e.CancelableArgs.Message = "Submit succeeded."
   End If
End Sub

참고 항목

참조

FormEvents 클래스
FormEvents 구성원
Microsoft.Office.InfoPath 네임스페이스