桌面指南 (Windows Forms .NET)

歡迎使用 Windows Forms 桌面指南,這種 UI 架構可建立適用於 Windows 的豐富傳統型用戶端應用程式。 Windows Forms 開發平台支援一組廣泛的應用程式開發功能,包括控制項、圖形、資料繫結和使用者輸入。 Windows Forms 是 Visual Studio 中的拖放式視覺化設計工具,可輕鬆建立 Windows Forms 應用程式。

重要

.NET 7 和 .NET 6 的桌面指南檔正在建置中。

Windows Forms 有兩個實作:

  1. 裝載於 GitHub 上的開放原始碼實作。

    此版本會在 .NET 6+ 上執行。 Windows Forms 視覺化設計工具至少需要 Visual Studio 2019 16.8 版

    最新版本是使用 Visual Studio 2022 17.4 版的 Windows Forms for .NET 7。

  2. 支援 Visual Studio 2022、Visual Studio 2019 和 Visual Studio 2017 的 4 個 .NET Framework 實作。

    .NET Framework 4 是僅限 Windows 的 .NET 版本,並視為 Windows 作業系統元件。 此版本的 Windows Forms 會隨 .NET Framework 散發。

本桌面指南是針對 .NET 5 和更新版本的 Windows Forms 所撰寫。 如需 Windows Forms 的 .NET Framework 版本詳細資訊,請參閱適用於 .NET Framework 的 Windows Forms

簡介

Windows Forms 是用來建置 Windows 傳統型應用程式的 UI 架構。 其為最具生產力的方式之一,可根據 Visual Studio 中提供的視覺化設計工具來建立傳統型應用程式。 視覺效果控制項的拖放位置等功能可讓您輕鬆地建置傳統型應用程式。

透過 Windows Forms,您可以開發圖形豐富的應用程式,不論離線或連線到網際網路時皆可輕鬆部署、更新及工作。 Windows Forms 應用程式可以存取執行應用程式所在電腦的本機硬體和檔案系統。

若要了解如何建立 Windows Forms 應用程式,請參閱教學課程:建立新的 WinForms 應用程式

為何要從 .NET Framework 移轉

適用于 .NET 的 Windows Forms 提供 .NET Framework 的新功能和增強功能。 如需詳細資訊,請參閱 Windows Forms for .NET 7 的新功能。 若要瞭解如何升級應用程式,請參閱 如何將 Windows Forms 傳統型應用程式升級至 .NET 7

建置豐富、互動式的使用者介面

Windows Forms 是一種適用於 .NET 的智慧型用戶端技術,它是一組受控程式庫,可簡化常見的應用程式工作,例如讀取和寫入檔案系統。 當您使用 Visual Studio 這類開發環境時,可以建立 Windows Forms 智慧型用戶端應用程式來顯示資訊、要求使用者輸入,以及透過網路與遠端電腦通訊。

在 Windows Forms 中,「表單」是一種視覺化介面,您可以在上面顯示要提供給使用者的資訊。 通常在建置 Windows Forms 應用程式時,您會將控制項新增至表單,以及開發對使用者動作的回應,例如滑鼠點選或是按下按鍵。 「控制項」是個別的 UI 項目,可顯示資料或接受資料輸入。

當使用者對您的表單或其中一個控制項執行某個動作時,該動作會產生事件。 您的應用程式會以程式碼對這些事件做出反應,並且在事件發生時加以處理。

Windows Forms 包含可讓您新增至表單的各種控制項:顯示文字方塊、按鈕、下拉式清單方塊、選項按鈕甚至網頁的控制項。 如果現有的控制項不符合您的需求,Windows Forms 也支援使用 UserControl 類別來建立您自己的自訂控制項。

Windows Forms 有豐富的 UI 控制項,可以模擬 Microsoft Office 這類高階應用程式的功能。 當您使用 ToolStripMenuStrip 控制項時,您可以建立包含文字和影像的工具列和功能表、顯示子功能表,以及裝載其他控制項,例如文字方塊和下拉式方塊。

使用 Visual Studio 中的拖放式 Windows Forms 設計工具,可讓您輕鬆建立 Windows Forms 應用程式。 只要用您的游標選取控制項,然後將其放置到表單上您想要的位置即可。 設計工具提供像是格線和對齊線之類的工具,可讓您輕鬆對齊控制項。 您可以使用 FlowLayoutPanelTableLayoutPanelSplitContainer 控制項來建立進階表單配置,以節省時間。

最後,如果您必須建立自己的自訂 UI 項目,System.Drawing 命名空間包含許多類別選項,可直接在表單上呈現線條、圓形和其他形狀。

建立表單和控制項

如需如何使用這些功能的逐步解說資訊,請參閱下列說明主題。

顯示及操作資料

許多應用程式必須顯示來自資料庫、XML 或 JSON 檔案、Web 服務或其他資料來源的資料。 Windows Form 提供名為 DataGridView 控制項的彈性控制項,以傳統的資料列和資料行格式,來顯示這類表格式資料,讓每項資料佔有自己的儲存格。 當您使用 DataGridView 時,您可以自訂個別儲存格的外觀、將任意資料列和資料行鎖定位置,以及顯示儲存格中的複雜控制項,還有其他功能。

利用 Windows Forms 時,您可以輕鬆透過網路連接到資料來源。 BindingSource 元件可代表資料來源的連線,並將資料繫結至控制項、瀏覽至上一筆和下一筆記錄、編輯記錄,以及將變更儲存回原始來源的方法公開。 BindingNavigator 控制項透過 BindingSource 元件提供一個簡單的介面,可讓使用者在記錄之間巡覽。

您可以使用 Visual Studio 中的 [資料來源] 視窗,輕鬆地建立資料繫結控制項。 此視窗會顯示您專案中的資料來源,例如資料庫、Web 服務和物件。 將項目從這個視窗拖曳到專案中的表單上,即可建立資料繫結控制項。 您也可以將物件從 [資料來源] 視窗拖曳至現有的控制項,以將現有的控制項繫結至資料。

在 Windows Forms 中,另一種管理資料繫結的方法是「設定」。 大部分應用程式必須保留其執行階段狀態的一些相關資訊 (例如表單的最後已知大小),以及保留使用者偏好設定資料 (例如儲存檔案的預設位置)。 應用程式設定功能為因應這些需求,提供了一種簡單的方法,可將這兩種設定都儲存在用戶端電腦上。 在使用 Visual Studio 或程式碼編輯器來定義這些設定之後,這些設定會保存為 XML,並且在執行階段自動讀回記憶體中。

將應用程式部署到用戶端電腦

撰寫應用程式之後,您必須將應用程式傳送給您的使用者,讓他們能夠自己在用戶端電腦上安裝及執行應用程式。 使用 ClickOnce 技術時,您只需要按幾下滑鼠,就可以從 Visual Studio 中部署應用程式,並將 URL 提供給使用者,以指向您在網路上的應用程式。 ClickOnce 會管理您應用程式中的所有項目和相依性,並確保應用程式已正確安裝在用戶端電腦上。

ClickOnce 應用程式可以設定為只在使用者連線到網路時執行,或是線上和離線時都可執行。 當您指定應用程式應該支援離線作業時,ClickOnce 會在使用者的 [開始] 功能表中新增應用程式的連結。 使用者即可直接開啟應用程式,而不需要使用 URL。

更新應用程式時,您可以將新的部署資訊清單和新的應用程式複本發佈到 Web 伺服器。 ClickOnce 會偵測到有可用的更新,並升級使用者的安裝。 您不需要自訂程式設計也能更新舊的應用程式。

另請參閱