WINDOWS窗體應用程式與WPF應用程式的區別?

2021-08-27 08:31:14 字數 960 閱讀 2554

windows窗體應用程式與wpf應用程式的區別?

用wpf更容易做的漂亮

感覺有以下幾個大區別:

wpf的執行緒模型和winform的執行緒模型不同

wpf到處用到資料繫結,winform在列表中才用的多

wpf支援3d,winform本身沒有,需要引入託管的dx

wpf有現成的動畫機制,winform沒有

wpf的介面可以用xaml寫,後台邏輯用c#,winform全部c#。也就是wpf真正做到介面與邏輯分離。

wpf開發於winform之後,從技術發展的角度,wpf比winform先進是不容置疑的。我覺得wpf相比於winform有下面的一些較好的特性:

解決window handle問題 

在windows gdi或winform開發中複雜的gui應用程式,會使用的大量的控制項,如grid等。而每個控制項或grid cell都是乙個小視窗,會使用乙個window handle,儘管控制項廠商提供了很多優化辦法,但還是會碰到out of memory或"error create window handle",而導致程式退出。

wpf徹底改變了控制項顯示的模式,控制項不在使用視窗,也就不會占用window handle。理論上,如果乙個wpf只有乙個主視窗的話,wpf只會使用乙個window handle(如果忽略用於dispatcher的隱藏視窗的話)。所以wpf gui程式不會出現window handle不夠用的情況。

多執行緒的處理

dependency property

在winform開發中,經常碰到的問題就是乙個控制項的值變了,其他控制項也會跟著改變。解決辦法,要不是通過寫**,要不是通過資料繫結,前者是介面和**沒法分開,後者還不夠靈活。而wpf在這方面通過xaml可以簡單的把相關的屬性聯絡起來,通過extension可以實現複雜的繫結關係。

總的來說,我覺得wpf應該是gui發展的乙個延續,原來gui中複雜的東西,現在通過簡單的文字就可以實現。

**:

C 窗體應用程式

看了一段時間的c 了,於是就想實戰一下,看了網上的一些教程,用vs寫乙個窗體程式,拉起乙個視窗,本人想著從初級的入門開始,到以後可以根據自己的需求,寫出一些上位機軟體和一些工具方便自己除錯微控制器 用。1 include 2 include 3 include 4 define win32 lean...

C 開發Windows窗體應用程式的步驟

使用c 開發應用程式時,一般包括建立專案 介面設計 設定屬性 編寫程式 儲存專案 程式執行等6個步驟。1 建立專案 在visual studio2017開發環境中選擇 檔案 新建 專案 選單,彈出 新建專案 對話方塊,如圖8.1所示。圖8.1 新建專案 對話方塊 選擇 windows窗體應用 net...

C 開發Windows窗體應用程式的步驟

使用c 開發應用程式時,一般包括建立專案 介面設計 設定屬性 編寫程式 儲存專案 程式執行等6個步驟。1 建立專案 在visual studio2017開發環境中選擇 檔案 新建 專案 選單,彈出 新建專案 對話方塊,如圖8.1所示。圖8.1 新建專案 對話方塊 選擇 windows窗體應用 net...