文章編號: 325618 - 上次校閱: 2007年2月23日 - 版次: 3.3

PRB: ActiveX 包裝函式類別中的名稱衝突

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

當您使用的屬性或 ActiveX 包裝函式類別的方法,如 ActiveX 控制項、 屬性或方法不適用,如您預期的。也請參閱方法,屬性名稱作為前置詞 Ctl,而您看到 ActiveX 包裝函式類別中會附加 事件 的事件名稱。

發生的原因

這是由於名稱衝突。當 Windows Form ActiveX 控制項匯入工具工具 (aximp.exe) 所產生 ActiveX 包裝函式類別包含屬性、 方法或具有相同的名稱為 ActiveX 控制項的事件時,就會發生名稱衝突。比方說 Refresh 方法的 ActiveX 控制項衝突與 重新整理 方法 ActiveX 包裝函式類別新增到控制項。若要管理這種類型的衝突 ActiveX 包裝函式類別重新命名 [ActiveX 控制項 CtlRefresh 的方法。如果您必須呼叫 Refresh 方法的 ActiveX 控制項,呼叫 CtlRefresh

解決方案

在本文 < 其他相關資訊 > 一節中,呼叫適當的屬性、 方法或說明的事件。

狀況說明

這種行為是經過設計規劃的。

其他相關資訊

要處理的 ActiveX 控制項的 Windows Form,額外的屬性、 方法和事件加入至控制項。比方說屬性,例如 大小看得見 成為您的控制項的擴充的屬性。這些額外的屬性]、 [方法],] 和 [一起使用的公用屬性、 方法和 ActiveX] 控制項的事件的事件形成新的包裝函式類別。當您在撰寫控制項的程式碼時您正在撰寫包裝函式類別針對程式碼。 ActiveX 控制項包裝函式類別委派。如果您將 ActiveX 控制項可用的公用屬性的設定,包裝函式類別會將屬性設定值,透過傳遞到控制項。如果您將 ActiveX 控制項找不到的擴充的屬性的設定,包裝函式類別會執行該控制項如切換可見性,或變更其大小上的運算。

如需有關這些擴充屬性的詳細資訊,方法和事件,請造訪下列 Microsoft 網站:
AxHost Class Members (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsaxhostmemberstopic.asp)
注意: 先前提及的包裝函式類別衍生自 類別 類別。

事件名稱衝突

如果事件名稱與另一個屬性或基底類別的事件名稱的衝突,包裝函式類別重新命名事件藉由附加字 事件 到事件名稱的結尾。事件名稱衝突的範例是 Microsoft WinSock 控制項。如果您將 Windows 表單上的 WinSock 控制項,並檢視其事件看到的 關閉] 和 [連線] 事件已經重新命名,來 CloseEventConnectEvent,分別。

重製行為的步驟

  1. 建立新的 Visual C#.NET Windows 應用程式專案。根據預設值,Form1.cs,即建立。
  2. 在 [工具] 功能表上按一下 [自訂工具箱]。
  3. 在 [自訂工具箱] 對話方塊按一下 [COM 元件] 索引標籤],按一下以選取 [Microsoft 網頁瀏覽器 控制項 (shdocvw.dll) 然後再按一下 [確定]]。
  4. 檔案總管 控制項加入至 Form1。型別 AxSHDocVw.AxWebBrowser 一個私用變數 axWebBrowser1 會加入至 Form1 類別。
  5. 程式使用 axWebBrowser1網頁瀏覽器 控制項。當您輸入 axWebBrowser1,並鍵入句點時,IntelliSense 會顯示所有屬性、 方法和 Web 瀏覽器 包裝函式類別的事件。您會看到 重新整理 方法和 CtlRefresh 方法。若想呼叫 Refresh 方法的 ActiveX 控制項,您必須呼叫 CtlRefresh
注意: 您也會看到以 Web 瀏覽器 控制項作為前置詞 Ctl 的衝突名稱的其他屬性。

這篇文章中的資訊適用於:
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
關鍵字:?
kbmt kbprb KB325618 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:325618? (http://support.microsoft.com/kb/325618/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。