다음을 통해 공유


AxHost.AboutBoxDelegate 대리자

ActiveX 컨트롤의 정보 대화 상자를 표시하는 메서드를 나타냅니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Protected Delegate Sub AboutBoxDelegate ()
‘사용 방법
Dim instance As New AboutBoxDelegate(AddressOf HandlerMethod)
protected delegate void AboutBoxDelegate ()
private delegate void AboutBoxDelegate ()
/** @delegate */
protected delegate void AboutBoxDelegate ()
JScript에서는 대리자를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

AxHost.AboutBoxDelegate를 사용하면 ActiveX 컨트롤의 정보 상자가 표시되는 시기를 통보 받을 수 있습니다. 대리자에 추가된 코드는 정보 상자가 표시되기 전에 실행됩니다.

AxHost.AboutBoxDelegate 대리자를 만들 때 정보 대화 상자가 있는 ActiveX 컨트롤의 정보 대화 상자 표시를 처리하는 메서드를 식별합니다. 이 메서드를 처리기에 연결하려면 대리자의 인스턴스를 해당 메서드에 추가합니다. 대리자를 제거하지 않으면 해당 메서드가 호출될 때마다 이 처리기가 호출됩니다. 대리자에 대한 자세한 내용은 이벤트 및 대리자를 참조하십시오.

예제

다음 예제에서는 Microsoft Masked Edit ActiveX Control을 래핑하는 AxHost 파생 클래스의 생성자와 SetAboutBoxDelegateAttachInterfaces 메서드를 재정의합니다. 이 코드에서는 생성된 소스 코드를 만들 때 MSMask32.ocx 파일에 대해 /source 스위치를 사용하여 AxImp.exe를 실행함으로써 편집할 래퍼 클래스를 생성했다고 가정합니다. 이 코드는 AxImp.exe에서 출력하는 유일한 언어인 C# 구문으로만 표시됩니다.

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);
    }
}

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

System.Windows.Forms 네임스페이스
SetAboutBoxDelegate
ShowAboutBox
AxHost.HasAboutBox 속성