2014-04-29 14 views
6

Tôi muốn biết liệu có bất kỳ sự khác biệt nào giữa các ứng dụng được phát triển bằng cách sử dụng các ứng dụng WPF và Winform về mặt cửa sổ hay không. Cả hai loại ứng dụng được xem là giống nhau trong hệ điều hành windows và nó chỉ là cách chúng được phát triển? HOẶC Có một số khác biệt cơ bản giữa chúng khi nó đi xuống về cách mỗi cửa sổ ứng dụng và con của nó được vẽ trên màn hình.Sự khác biệt giữa WPF và Winform về thông điệp của windows và OS

tôi đặc biệt quan tâm để biết

  • nếu có tồn tại những khái niệm cùng của cửa sổ thông điệp xử lý cửa sổ, vv
  • Sự kiện ON_PAINT được kích hoạt cùng một cách trong cả hai loại ứng dụng
  • Về của UI Automation, nếu chúng ta đang cố gắng chạy một ứng dụng khách UIA, chúng ta có nhận được bất kỳ sự khác biệt nào trong các điều khiển từ mỗi loại ứng dụng hay không.

Tôi không tìm thông tin về cách chúng tôi phát triển trong WPF hoặc WF, hoặc có XAML trong WPF nơi chúng tôi xác định những yếu tố giao diện người dùng nào cần và cách chúng tôi cần chúng.

+0

Bạn có hỏi về API giao diện người dùng .NET, trong số những thứ khác không? Tôi có thể sai, nhưng tôi không nghĩ rằng một [Nhà cung cấp tự động hóa giao diện người dùng] (http://msdn.microsoft.com/en-us/library/ms747229 (v = vs.110) .aspx) thậm chí còn tồn tại cho WinForms (nó chắc chắn không cho WPF). – Noseratio

+0

Có Tôi đang hỏi về .Net UI Automation, tôi không chắc chắn nhưng tôi nghĩ rằng nó hoạt động trên các ứng dụng winforms là tốt. – ResVic

+0

Một trong những khác biệt chính giữa WPF và WF là các điều khiển WPF không phải là các cửa sổ, chúng không có các xử lý 'HWND'. – Noseratio

Trả lời

2

Câu trả lời là có. Nếu bạn đang chạy một ứng dụng trong các cửa sổ và bạn sinh ra một cửa sổ mới, các cửa sổ tin nhắn có liên quan. Đây là cách hệ điều hành thông báo cho ứng dụng của bạn về sự kiện. Đây là hành vi phổ biến trên máy tính để bàn và chỉ là cách cửa sổ hoạt động.

WPF hoạt động hơi khác một chút để phản hồi sự kiện hiển thị do phương thức hiển thị (tên tôi quên ...). WPF sử dụng directx để vẽ lên một bề mặt đồ họa bị ràng buộc vào một khu vực cửa sổ của khách hàng. Winforms rút ra một bề mặt GDI + được cung cấp bởi các cửa sổ.

Truy xuất tay cầm cửa sổ và đăng ký thông báo cửa sổ bổ sung (thiết bị usb đã thay đổi, v.v.) là khác nhau ™ và yêu cầu một chút không quan trọng.

Tự động hóa giao diện người dùng hoạt động như thế nào bạn mong đợi nhưng mong đợi các tên điều khiển hơi khác nhau và nhiều đồ thị sâu hơn bạn thường nhận được trong winforms.

+0

Tôi không nhận được "bạn cũng phải ... sự kiện hệ thống". phần. – ResVic

+0

@ResVic được cập nhật để rõ ràng – Gusdor

Các vấn đề liên quan