歡迎使用 Windows Forms 桌面指南,這種 UI 架構可建立適用於 Windows 的豐富傳統型用戶端應用程式。 Windows Forms 開發平台支援一組廣泛的應用程式開發功能,包括控制項、圖形、資料繫結和使用者輸入。 Windows Forms 是 Visual Studio 中的拖放式視覺化設計工具,可輕鬆建立 Windows Forms 應用程式。
Windows Forms 有兩個實作:
裝載於 GitHub 上的開放原始碼實作。
此版本 會在 .NET 上執行。
最新版本是使用 Visual Studio 2022 17.12 版的 Windows Forms for .NET 9。
支援 Visual Studio 2022、Visual Studio 2019 和 Visual Studio 2017 的 4 個 .NET Framework 實作。
.NET Framework 4 是僅限 Windows 的 .NET 版本,並視為 Windows 作業系統元件。 此版本的 Windows Forms 隨附於 .NET Framework。
簡介
Windows Forms 是用來建置 Windows 傳統型應用程式的 UI 架構。 它提供了最具生產力的方式之一,可以利用 Visual Studio 中提供的視覺化設計工具來建立桌面應用程式。 視覺效果控制項的拖放位置等功能可讓您輕鬆地建置傳統型應用程式。
透過 Windows Forms,您可以開發圖形豐富的應用程式,不論離線或連線到網際網路時皆可輕鬆部署、更新及工作。 Windows Forms 應用程式可以存取執行應用程式所在電腦的本機硬體和檔案系統。
若要了解如何建立 Windows Forms 應用程式,請參閱教學課程:建立新的 WinForms 應用程式。
建置豐富、互動式的使用者介面
Windows Forms 是一種適用於 .NET 的智慧型用戶端技術,它是一組受控程式庫,可簡化常見的應用程式工作,例如讀取和寫入檔案系統。 當您使用 Visual Studio 這類開發環境時,可以建立 Windows Forms 智慧型用戶端應用程式來顯示資訊、要求使用者輸入,以及透過網路與遠端電腦通訊。
在 Windows Forms 中,「表單」是一種視覺化介面,您可以在上面顯示要提供給使用者的資訊。 通常在建置 Windows Forms 應用程式時,您會將控制項新增至表單,以及開發對使用者動作的回應,例如滑鼠點選或是按下按鍵。 「控制項」是個別的 UI 項目,可顯示資料或接受資料輸入。
當使用者對您的表單或其中一個控制項執行某個動作時,該動作會產生事件。 您的應用程式會使用程式代碼回應這些事件,並在事件發生時處理事件。 如需詳細資訊,請參閱 事件概觀。
Windows Forms 包含可讓您新增至表單的各種控制項:顯示文字方塊、按鈕、下拉式清單方塊、選項按鈕甚至網頁的控制項。 如需您可以在表單上使用之所有控制項的清單,請參閱要在 Windows Forms 上使用的控制項。 如果現有的控件不符合您的需求,Windows Forms 也支援使用 UserControl 類別建立您自己的自定義控件。 如需詳細資訊,請參閱 如何建立使用者控件。
Windows Forms 有豐富的 UI 控制項,可以模擬 Microsoft Office 這類高階應用程式的功能。 當您使用 ToolStrip 和 MenuStrip 控制項時,您可以建立包含文字和影像的工具列和功能表、顯示子功能表,以及裝載其他控制項,例如文字方塊和下拉式方塊。
使用 Visual Studio 中的拖放式 Windows Forms 設計工具,可讓您輕鬆建立 Windows Forms 應用程式。 只要用您的游標選取控制項,然後將其放置到表單上您想要的位置即可。 設計師提供格線和對齊線等工具,讓您輕鬆對齊控制項。 您可以使用 FlowLayoutPanel、TableLayoutPanel 和 SplitContainer 控制項來建立進階表單配置,以節省時間。
最後,如果您必須建立自己的自訂 UI 項目,System.Drawing 命名空間包含許多類別選項,可直接在表單上呈現線條、圓形和其他形狀。
僅限 .NET Framework
Windows Form 控制項的設計並不能跨應用程式定義域來封送處理。 基於這個理由,Microsoft 不支援跨 AppDomain 界限傳遞 Windows Form 控制項,即使 MarshalByRefObject 的 Control 基底類型似乎表示這是可行的。 只要沒有 Windows Form 控制項跨應用程式定義域界限傳遞,即可支援具有多個應用程式定義域的 Windows Forms 應用程式。
建立表單和控制項
如需如何使用這些功能的逐步解說資訊,請參閱下列說明主題。
顯示及處理資料
許多應用程式必須顯示來自資料庫、XML 或 JSON 檔案、Web 服務或其他資料來源的資料。 Windows Form 提供名為 DataGridView 控制項的彈性控制項,以傳統的資料列和資料行格式,來顯示這類表格式資料,讓每項資料佔有自己的儲存格。 當您使用 DataGridView 時,您可以自訂個別儲存格的外觀、將任意資料列和資料行鎖定位置,以及顯示儲存格中的複雜控制項,還有其他功能。
利用 Windows Forms 時,您可以輕鬆透過網路連接到資料來源。 BindingSource 元件可代表資料來源的連線,並將資料繫結至控制項、瀏覽至上一筆和下一筆記錄、編輯記錄,以及將變更儲存回原始來源的方法公開。 BindingNavigator 控制項透過 BindingSource 元件提供一個簡單的介面,可讓使用者在記錄之間巡覽。
您可以使用 Visual Studio 中的 [資料來源] 視窗,輕鬆地建立資料繫結控制項。 此視窗會顯示您專案中的資料來源,例如資料庫、Web 服務和物件。 將項目從這個視窗拖曳到專案中的表單上,即可建立資料繫結控制項。 您也可以將物件從 [資料來源] 視窗拖曳至現有的控制項,以將現有的控制項繫結至資料。
在 Windows Forms 中,另一種管理資料繫結的方法是「設定」。 大部分應用程式必須保留其執行階段狀態的一些相關資訊 (例如表單的最後已知大小),以及保留使用者偏好設定資料 (例如儲存檔案的預設位置)。 應用程式設定功能為因應這些需求,提供了一種簡單的方法,可將這兩種設定都儲存在用戶端電腦上。 在使用 Visual Studio 或程式碼編輯器來定義這些設定之後,這些設定會保存為 XML,並且在執行階段自動讀回記憶體中。