次の方法で共有


Windows フォームで ActiveX コントロールをホストするときの考慮事項

Windows フォームは Windows フォーム コントロールをホストするように最適化されていますが、引き続き ActiveX コントロールを使用できます。 ActiveX コントロールを使用するアプリケーションを計画するときは、次の考慮事項に注意してください。

  • セキュリティ コード アクセス セキュリティに関して共通言語ランタイムが強化されました。 Windows フォームを備えたアプリケーションは、問題なく完全に信頼された環境で実行でき、ほとんどの機能がアクセス可能な半信頼環境で実行できます。 Windows フォーム コントロールは、複雑さなしでブラウザーでホストできます。 ただし、Windows フォームの ActiveX コントロールでは、これらのセキュリティ強化を利用できません。 ActiveX コントロールを実行するには、SecurityPermissionAttribute.UnmanagedCode プロパティで設定されたアンマネージ コードのアクセス許可が必要です。 セキュリティとアンマネージ コードのアクセス許可の詳細については、SecurityPermissionAttributeを参照してください。

  • Windows フォームに追加された ActiveX コントロール 総保有コストは、その Windows フォーム全体で展開され、作成されたファイルのサイズに大幅に追加される可能性があります。 さらに、Windows フォームで ActiveX コントロールを使用するには、レジストリへの書き込みが必要です。 これは、Windows フォーム コントロールよりもユーザーのコンピューターに対する侵入性が高く、この操作は必要ありません。

    手記

    ActiveX コントロールを操作するには、COM 相互運用ラッパーを使用する必要があります。 詳細については、「Visual Basic と Visual C#での COM 相互運用性の 」を参照してください。

    手記

    ActiveX コントロールのメンバーの名前が .NET Framework で定義されている名前と一致する場合、ActiveX コントロール インポーターは、AxHost 派生クラスを作成するときに、メンバー名の前に Ctl を付けます。 たとえば、ActiveX コントロールに Layoutという名前のメンバーがある場合、.NET Framework 内で Layout イベントが定義されているため、AxHost 派生クラスでは CtlLayout に名前が変更されます。

関連項目