AxHost.SetAboutBoxDelegate(AxHost+AboutBoxDelegate) 메서드

정의

ShowAboutBox() 메서드를 호출하여 ActiveX 컨트롤의 정보 대화 상자를 표시합니다.Calls the ShowAboutBox() method to display the ActiveX control's About dialog box.

protected:
 void SetAboutBoxDelegate(System::Windows::Forms::AxHost::AboutBoxDelegate ^ d);
protected void SetAboutBoxDelegate (System.Windows.Forms.AxHost.AboutBoxDelegate d);
member this.SetAboutBoxDelegate : System.Windows.Forms.AxHost.AboutBoxDelegate -> unit
Protected Sub SetAboutBoxDelegate (d As AxHost.AboutBoxDelegate)

매개 변수

예제

다음 코드 예제에서는 생성자를 재정의 하며 SetAboutBoxDelegateAttachInterfaces 의 메서드는 AxHost Microsoft 마스킹된 편집 ActiveX 컨트롤을 래핑하는 클래스를 파생 합니다.The following code example overrides the constructor, and the SetAboutBoxDelegate and AttachInterfaces methods of an AxHost derived class that wraps the Microsoft Masked Edit ActiveX Control. 이 코드를 실행 하려면 MSMask32.ocx 파일에서 AxImp.exe를 실행 하 여 생성된 된 소스 코드를 만든를 /source 편집할 래퍼 클래스를 생성 하는 스위치입니다.This code requires that you have created the generated source code by running the AxImp.exe on the MSMask32.ocx file with the /source switch to generate the wrapper class to be edited. 이 코드는 AxImp.exe에서 유일한 언어 출력 하는 C# 구문 으로만 표시 됩니다.This code is only shown in C# syntax because that is the only language output by the AxImp.exe.

public AxMaskEdBox()
    :
  base("c932ba85-4374-101b-a56c-00aa003668dc") // The ActiveX control's class identifier.
{
    // Make the AboutBox method the about box delegate.
    this.SetAboutBoxDelegate(new AboutBoxDelegate(AboutBox));
}

public virtual void AboutBox()
{
    // If the instance of the ActiveX control is null when the AboutBox method
    // is called, raise an InvalidActiveXStateException exception.
    if ((this.ocx == null))
    {
        throw new System.Windows.Forms.AxHost.InvalidActiveXStateException(
          "AboutBox", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
    }
    // Show the about box if the ActiveX control has one.
    if (this.HasAboutBox)
    {
        this.ocx.AboutBox();
    }
}

protected override void AttachInterfaces()
{
    try
    {
        // Attach the IMSMask interface to the ActiveX control.
        this.ocx = ((MSMask.IMSMask)(this.GetOcx()));
    }
    catch (System.Exception ex)
    {
        System.Console.WriteLine(ex.Message);
    }
}

설명

SetAboutBoxDelegate메서드를 사용 하면 파생 클래스에서 대리자를 ShowAboutBox 연결 하지 않고 메서드를 처리할 수도 있습니다.The SetAboutBoxDelegate method also allows derived classes to handle the ShowAboutBox method without attaching a delegate. 이는 ShowAboutBox 파생 클래스에서 메서드를 처리 하는 데 선호 되는 기술입니다.This is the preferred technique for handling the ShowAboutBox method in a derived class.

상속자 참고

SetAboutBoxDelegate(AxHost+AboutBoxDelegate)파생 클래스에서 재정의 하 SetAboutBoxDelegate(AxHost+AboutBoxDelegate) 는 경우 등록 된 대리자가 메서드를 받도록 기본 클래스의 메서드를 호출 해야 ShowAboutBox() 합니다.When overriding SetAboutBoxDelegate(AxHost+AboutBoxDelegate) in a derived class, be sure to call the base class's SetAboutBoxDelegate(AxHost+AboutBoxDelegate) method so that registered delegates receive the ShowAboutBox() method.

적용 대상

추가 정보