次の方法で共有


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

更新 : 2007 年 11 月

Windows フォームは、Windows フォーム コントロールをホストするために最適化されていますが、代わりに ActiveX コントロールも使用できます。アプリケーションで ActiveX コントロールを使用する場合には、以下の点を考慮してください。

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

  • TCO (Total Cost of Ownership)   Windows フォームに追加された ActiveX コントロールは、その全体が Windows フォームと共に配置されるため、作成されるファイルのサイズがかなり大きくなる場合があります。また、Windows フォーム上で ActiveX コントロールを使用するには、レジストリへの書き込みが必要です。そのため、レジストリへの書き込みを必要としない Windows フォーム コントロールに比べて、ユーザーがコンピュータに干渉する度合いが大きくなります。

    メモ :

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

    メモ :

    ActiveX コントロールの中に、.NET Framework で定義されている名前と同じ名前のメンバがある場合、AxHost の派生クラスの作成時に、ActiveX コントロール インポータによって、これらのメンバにプレフィックス Ctl が付けられます。たとえば、ActiveX コントロールに Layout という名前のメンバが含まれる場合、.NET Framework に Layout イベントが定義されているため、AxHost 派生クラスでは CtlLayout という名前に変更されます。

参照

処理手順

方法 : Windows フォームに ActiveX コントロールを追加する

参照

各言語およびライブラリにおける、コントロールとプログラミング可能オブジェクトの比較

その他の技術情報

コード アクセス セキュリティ

Windows フォームへのコントロールの追加

Windows フォーム コントロール