共用方式為


Windows Form/MFC 程式設計的差異

在 MFC 中使用 Windows Form 使用者控制項中的 主題描述 Windows Forms 的 MFC 支援。 如果您不熟悉 .NET Framework 或 MFC 程式設計,本主題會提供兩者之間程式設計差異的背景資訊。

Windows Forms 用於在 .NET Framework 上建立 Microsoft Windows 應用程式。 此架構提供現代化、物件導向且可延伸的一組類別,可讓您開發豐富的 Windows 應用程式。 透過 Windows Forms,您可以建立豐富的用戶端應用程式,以存取各種不同的資料來源,並使用 Windows Forms 控制項提供資料顯示和資料編輯設備。

不過,如果您習慣 MFC,您可能用來建立 Windows Forms 中尚未明確支援的特定應用程式類型。 Windows Forms 應用程式相當於 MFC 對話方塊應用程式。 不過,它們不會提供基礎結構來直接支援其他 MFC 應用程式類型,例如 OLE 檔案伺服器/容器、ActiveX 檔、單一檔介面的檔/檢視支援、多文檔介面 (MDI),以及多個最上層介面 (MTI)。 您可以撰寫自己的邏輯來建立這些應用程式。

如需 Windows Forms 應用程式的詳細資訊,請參閱 Windows Forms 簡介。

下列 MFC 檢視或檔和命令路由功能在 Windows Forms 中沒有對等專案:

  • 殼層整合

    MFC 會處理殼層在以滑鼠右鍵按一下檔時所使用的動態資料交換 (DDE) 命令和命令列引數,並選取 [開啟]、[編輯] 或 [列印] 等動詞。 Windows Forms 沒有殼層整合,且不會回應殼層動詞。

  • 文件範本

    在 MFC 中,檔範本會將檢視與開啟的檔建立關聯,檢視包含在框架視窗中(在 MDI、SDI 或 MTI 模式中)。 Windows Forms 與檔範本不相等。

  • 文件​​

    MFC 會註冊檔檔案類型,並在從殼層開啟檔時處理檔案類型。 Windows Forms 沒有檔支援。

  • 檔狀態

    MFC 會維護檔的髒狀態。 因此,當您關閉應用程式、關閉包含應用程式的最後一個檢視,或離開 Windows 時,MFC 會提示您儲存檔。 Windows Forms 沒有對等的支援。

  • 命令

    MFC 具有命令的概念。 功能表列、工具列和操作功能表都可以叫用相同的命令,例如剪下和複製。 在 Windows Forms 中,命令是來自特定 UI 元素的緊密系結事件(例如功能表項目):因此,您必須明確連結所有命令事件。 您也可以在 Windows Forms 中使用單一處理程式來處理多個事件。 如需詳細資訊,請參閱 將多個事件連線到 Windows Forms 中的單一事件處理常式。

  • 命令路由

    MFC 命令路由可讓使用中檢視或檔處理命令。 因為相同的命令通常對不同的檢視有不同的意義(例如,Copy 在文字編輯檢視中的行為與圖形編輯器不同),因此命令必須由使用中檢視處理。 因為 Windows Forms 功能表和工具列對使用中檢視沒有固有的瞭解,所以您不需撰寫其他內部程式碼,就無法針對 MenuItem.Click 事件的每個檢視類型 使用不同的處理常式。

  • 命令更新機制

    MFC 具有命令更新機制。 因此,使用中檢視或檔負責 UI 元素的狀態(例如,啟用或停用功能表項目或工具按鈕,以及核取的狀態)。 Windows Forms 沒有相當於命令更新機制。

另請參閱

在 MFC 中使用 Windows Forms 使用者控制項