共用方式為


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

雖然 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 控制項