共用方式為


在 Windows Form 上裝載 ActiveX 控制項的考慮因素

更新:2007 年 11 月

雖然 Windows Form 是最佳化來裝載 (Host) Windows Form 控制項,但您還是可使用 ActiveX 控制項。在規劃使用 ActiveX 控制項的應用程式時,請務必考慮下列事項:

  • 安全性:Common Language Runtime 已在程式碼存取的安全性方面加強。具有 Windows Form 的應用程式可在完全受信任的環境下正常運作,而且也可在非完全信任的環境下存取大部分的功能。Windows Form 控制項可以輕易地裝載於瀏覽器中。但是,Windows Form 上的 ActiveX 控制項無法享有這些安全性增強的好處。執行 ActiveX 控制項需要 Unmanaged 程式碼使用權限,您可使用 SecurityPermissionAttribute.UnmanagedCode 屬性加以設定。如需安全性和 Unmanaged 程式碼使用權限,請參閱 SecurityPermissionAttribute 類別

  • 整體擁有成本 (TCO):任何加入至 Windows Form 的 ActiveX 控制項都會與該 Windows Form 一起部署,這麼做會明顯地增加已建立檔案的大小。此外,在 Windows Form 上使用 ActiveX 控制項必須寫入登錄。對使用者的電腦而言,這比 Windows Form 控制項更具侵入性,因為 Windows Form 控制項不需要這麼做。

    注意事項:

    使用 ActiveX 控制項需要 COM Interop 包裝函式。如需詳細資訊,請參閱 Visual Basic 和 Visual C# 中的 COM 互通性

    注意事項:

    如果 ActiveX 控制項成員的名稱與 .NET Framework 中定義的名稱相符,則 ActiveX 控制項匯入工具會在建立 AxHost 衍生類別 (Derived Class) 時,在成員名稱前加上 Ctl 前置詞。例如,如果 ActiveX 控制項有名為 Layout 的成員,它在 AxHost 衍生類別中會重新命名為 CtlLayout,因為 Layout 事件是在 .NET Framework 內定義的。

請參閱

工作

HOW TO:將 ActiveX 控制項加入至 Windows Form

參考

比較不同語言和程式庫的控制項與程式物件

其他資源

程式碼存取安全性

將控制項加入 Windows Form

Windows Form 控制項