다음을 통해 공유


방법: ShowDialog 메서드를 통해 Windows Form을 표시하여 COM Interop 지원

Application.Run 메서드를 사용하여 만드는 .NET Framework 메시지 루프에 Windows Form을 표시하여 COM(구성 요소 개체 모델) 상호 운용성 문제를 해결할 수 있습니다.

폼이 COM 클라이언트 애플리케이션에서 제대로 작동하게 하려면 Windows Forms 메시지 루프에서 실행해야 합니다. 이렇게 하려면 다음 접근 방식 중 하나를 사용합니다.

프로시저

Form.ShowDialog 메서드를 사용하는 것이 .NET Framework 메시지 루프에 양식을 표시하는 가장 쉬운 방법일 수 있습니다. 모든 방법 중에서 이 방법이 코드 구현을 가장 적게 요구하기 때문입니다.

Form.ShowDialog 메서드는 관리되지 않는 애플리케이션의 메시지 루프를 일시 중단하고 폼을 대화 상자로 표시합니다. 호스트 애플리케이션의 메시지 루프가 일시 중단되었기 때문에 Form.ShowDialog 메서드는 새 .NET Framework 메시지 루프를 만들어 양식의 메시지를 처리합니다.

Form.ShowDialog 메서드 사용의 단점은 폼이 모달 대화 상자로 열린다는 것입니다. 즉, Windows Form이 열려 있는 동안에는 호출하는 애플리케이션에서 UI(사용자 인터페이스)가 차단됩니다. 사용자가 폼을 종료하면 .NET Framework 메시지 루프가 닫히고 이전 애플리케이션의 메시지 루프가 다시 실행되기 시작합니다.

폼을 표시할 메서드를 가지고 있는 클래스 라이브러리를 Windows Forms에서 만든 다음 COM interop에 대한 클래스 라이브러리를 빌드할 수 있습니다. Visual Basic 6.0 또는 MFC(Microsoft Foundation Classes)에서 이 DLL 파일을 사용할 수 있으며, 이러한 환경 중 하나에서 Form.ShowDialog 메서드를 호출하여 폼을 표시할 수 있습니다.

ShowDialog 메서드로 Windows Form을 표시하여 COM Interop를 지원하려면

  • Form.Show 메서드에 대한 모든 호출을 .NET Framework 구성 요소의 Form.ShowDialog 메서드에 대한 호출로 바꿉니다.

참조