Windows Form에서 ActiveX 컨트롤을 호스팅할 때 고려 사항

업데이트: 2007년 11월

Windows Forms은 Windows Forms 컨트롤을 호스팅하기에 최적화되어 있지만 ActiveX 컨트롤을 사용할 수도 있습니다. 다음은 ActiveX 컨트롤을 사용하는 응용 프로그램을 작성할 때 유의해야 할 사항입니다.

  • 보안   공용 언어 런타임이 코드 액세스 보안 측면에서 강화되었습니다. Windows Forms 기능이 있는 응용 프로그램은 문제 없이 완전히 신뢰할 수 있는 환경에서 실행할 수 있고 대부분의 기능에 액세스할 수 있는 부분적으로 신뢰할 수 있는 환경에서도 실행할 수 있습니다. Windows Forms 컨트롤은 브라우저에서 아무 문제 없이 호스팅될 수 있지만 Windows Forms의 ActiveX 컨트롤은 이러한 향상된 보안 기능을 활용할 수 없습니다. ActiveX 컨트롤을 실행하려면 SecurityPermissionAttribute.UnmanagedCode 속성으로 설정하는 비관리 코드 권한이 필요합니다. 보안 및 비관리 코드 권한에 대한 자세한 내용은 SecurityPermissionAttribute 클래스를 참조하십시오.

  • TCO(전체 소유 비용)   Windows Form에 추가된 ActiveX 컨트롤은 Windows Form과 함께 전부 배포되므로 파일의 크기가 상당히 커질 수 있습니다. 또한 Windows Forms에서 ActiveX 컨트롤을 사용하려면 레지스트리에 기록해야 합니다. 따라서 레지스트리에 기록할 필요가 없는 Windows Forms 컨트롤을 사용하는 것에 비해 사용자의 컴퓨터를 간섭할 여지가 많습니다.

    참고:

    ActiveX 컨트롤로 작업하려면 COM Interop 래퍼를 사용해야 합니다. 자세한 내용은 Visual Basic 및 Visual C#에서 COM 상호 운용성을 참조하십시오.

    참고:

    ActiveX 컨트롤 멤버의 이름이 .NET Framework에 정의된 이름과 일치하면 ActiveX 컨트롤 가져오기는 AxHost 파생 클래스를 만들 때 멤버 이름 앞에 Ctl을 붙입니다. 예를 들어 ActiveX 컨트롤의 Layout이라는 멤버는 .NET Framework 내에 Layout 이벤트가 정의되어 있는 경우 해당 멤버의 이름이 AxHost 파생 클래스에서 CtlLayout으로 변경됩니다.

참고 항목

작업

방법: Windows Forms에 ActiveX 컨트롤 추가

참조

여러 언어 및 라이브러리에서 사용되는 컨트롤 및 프로그래밍 가능한 개체 비교

기타 리소스

코드 액세스 보안

Windows Forms에 컨트롤 넣기

Windows Forms 컨트롤