다음을 통해 공유


AxHost.InvalidActiveXStateException 클래스

이 클래스는 .NET Framework 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

잘못된 상태의 ActiveX 컨트롤을 참조할 때 throw되는 예외입니다.

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

구문

‘선언
Public Class InvalidActiveXStateException
    Inherits Exception
‘사용 방법
Dim instance As InvalidActiveXStateException
public class InvalidActiveXStateException : Exception
public ref class InvalidActiveXStateException : public Exception
public class InvalidActiveXStateException extends Exception
public class InvalidActiveXStateException extends Exception

설명

ActiveX 컨트롤이 완전히 인스턴스화되고 초기화된 후에만 ActiveX 컨트롤의 공용 속성과 메서드를 참조할 수 있습니다. 그렇지 않으면 AxHost.InvalidActiveXStateException 예외가 throw됩니다. AxHost.InvalidActiveXStateException 예외 클래스에는 참조한 멤버의 이름과 멤버 형식이 포함됩니다. 멤버 형식은 AxHost.ActiveXInvokeKind 나열된 값 중 하나입니다.

예제

다음 코드 예제에서는 Microsoft Masked Edit ActiveX Control을 래핑하는 AxHost 파생 클래스의 SetAboutBoxDelegateAttachInterfaces 메서드와 생성자를 재정의합니다. 이 코드를 실행하려면 편집할 래퍼 클래스를 생성하기 위해 /source 스위치를 사용하여 MSMask32.ocx 파일에 대해 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);
    }
}

상속 계층 구조

System.Object
   System.Exception
    System.Windows.Forms.AxHost.InvalidActiveXStateException

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

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에서 지원

참고 항목

참조

AxHost.InvalidActiveXStateException 멤버
System.Windows.Forms 네임스페이스
AxHost.ActiveXInvokeKind 열거형