Windows フォームで ActiveX コントロールをホストする場合の考慮事項
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 コントロールを追加する
参照
各言語およびライブラリにおける、コントロールとプログラミング可能オブジェクトの比較