Windows Forms
Bài viết hoặc đoạn này cần người am hiểu về chủ đề này trợ giúp biên tập mở rộng hoặc cải thiện.tháng 3/2021) ( |
Screenshot of Windows Forms designer as seen in Visual Studio 2019. | |
Thiết kế bởi | .NET: Microsoft, Mono: Ximian/Novell |
---|---|
Phát triển bởi | .NET Foundation |
Phát hành lần đầu | 13 tháng 2 năm 2002 |
Phiên bản ổn định | v5.0.0-rtm.20520.1
/ 20 tháng 10 năm 2020 |
Kho mã nguồn | |
Viết bằng | C# |
Hệ điều hành | Microsoft Windows |
Nền tảng | .NET Framework, .NET Core |
Thể loại | Software framework |
Giấy phép | MIT License |
Website | docs |
Windows Forms (WinForms) là thư viện lớp đồ họa (GUI) mã nguồn mở và miễn phí được bao gồm như một phần của Microsoft.NET Framework hoặc Mono Framework,[1] cung cấp nền tảng để viết các ứng dụng khách phong phú cho máy tính để bàn, máy tính xách tay và máy tính bảng.[2] Mặc dù nó được coi là sự thay thế cho Thư viện lớp nền tảng Microsoft Foundation của C ++ trước đây và phức tạp hơn, nhưng nó không cung cấp mô hình tương đương[3] và chỉ hoạt động như một nền tảng cho tầng giao diện người dùng trong một giải pháp nhiều tầng.[4]
Tại sự kiện Microsoft Connect vào ngày 4 tháng 12 năm 2018, Microsoft đã công bố phát hành Windows Forms dưới dạng một dự án mã nguồn mở trên GitHub. Nó được phát hành theo Giấy phép MIT. Với bản phát hành này, Windows Forms đã có sẵn cho các dự án nhắm mục tiêu đến khung.NET Core. Tuy nhiên, khung công tác vẫn chỉ có sẵn trên nền tảng Windows và việc triển khai Windows Forms chưa hoàn thiện của Mono vẫn là triển khai đa nền tảng duy nhất.[5][6]
Thành phần
[sửa | sửa mã nguồn]Tất cả các yếu tố hình ảnh trong thư viện lớp Windows Forms xuất phát từ lớp Control. Điều này cung cấp chức năng tối thiểu của một yếu tố giao diện người dùng như vị trí, kích thước, màu sắc, phông chữ, văn bản, cũng như các sự kiện phổ biến như nhấp và kéo / thả. Lớp Control cũng có hỗ trợ lắp ghép để cho phép kiểm soát sắp xếp lại vị trí của nó dưới cha mẹ của nó. Hỗ trợ khả năng truy cập Microsoft Active trong lớp Control cũng giúp người dùng bị khiếm khuyết sử dụng Windows Forms tốt hơn.[7]
Bên cạnh việc cung cấp quyền truy cập vào nút Windows Bản địa, TextBox, CheckBox và ListView, Windows Forms đã thêm các điều khiển của riêng nó để lưu trữ ActiveX, sắp xếp bố cục, xác thực và ràng buộc dữ liệu phong phú. Những điều khiển được hiển thị bằng GDI +.[7]
Lịch sử phát triển
[sửa | sửa mã nguồn]Giống như Tóm tắt Window Toolkit (AWT), API Java tương đương, các biểu mẫu Windows là một cách sớm và dễ dàng để cung cấp các thành phần giao diện người dùng đồ họa cho.NET Framework. Các biểu mẫu Windows được xây dựng trên API Windows hiện có và một số điều khiển chỉ quấn các thành phần Windows bên dưới.[8] Một số phương thức cho phép truy cập trực tiếp vào các cuộc gọi lại Win32, không khả dụng trong các nền tảng không phải Windows.[8]
Sự khác nhau giữa Winform và XAML
[sửa | sửa mã nguồn]Để phát triển trong tương lai, Microsoft đã thành công Windows Forms với GUI dựa trên XAML sử dụng các khuôn khổ như WPF và UWP. Tuy nhiên, kéo và thả vị trí của các thành phần GUI theo cách tương tự như Windows Forms vẫn được cung cấp trong XAML bằng cách thay thế phần tử XAML gốc của Trang / Cửa sổ bằng UI-Control "Canvas". Khi thực hiện thay đổi này, người dùng có thể tạo một cửa sổ theo kiểu tương tự như trong Windows Forms bằng cách kéo và thả trực tiếp các thành phần bằng Visual Studio GUI.
Trong khi XAML cung cấp khả năng tương thích ngược về vị trí kéo và thả thông qua Điều khiển Canvas, Điều khiển XAML chỉ tương tự như Điều khiển biểu mẫu Windows và không tương thích ngược 1-1. Chúng thực hiện các chức năng tương tự và có hình thức tương tự, nhưng các thuộc tính và phương thức đủ khác nhau để yêu cầu ánh xạ lại từ API này sang API khác.
Xem thêm
[sửa | sửa mã nguồn]- Microsoft Visual Studio
- ClickOnce
- Abstract Window Toolkit (AWT), the equivalent GUI application programming interface (API) for the Java programming language
- Visual Component Library (VCL) from Borland
- Visual Test, test automation
Tham khảo
[sửa | sửa mã nguồn]- ^ Sells, Chris (ngày 6 tháng 9 năm 2003). Windows Forms Programming in C# (ấn bản thứ 1). Addison-Wesley Professional. tr. xxxviiii.
- ^ “Design and Implementation Guidelines for Web Clients by Microsoft Pattern and Practices”. Microsoft. tháng 11 năm 2003.
- ^ Sells, Chris; Weinhardt, Michael (ngày 16 tháng 5 năm 2006). “Appendix B”. Moving from MFC, Windows Forms 2.0 Programming (ấn bản thứ 2). Addison-Wesley Professional.
- ^ “Introduction to Windows Forms” (Visual Studio 2003 documentation). Microsoft 2003.
- ^ Martin, Jeff (ngày 4 tháng 12 năm 2018). “Microsoft Open Sources WPF, WinForms, and WinUI”. InfoQ. Truy cập ngày 6 tháng 12 năm 2018.
- ^ Hanselman, Scott (ngày 4 tháng 12 năm 2018). “Announcing WPF, WinForms, and WinUI are going Open Source”. Truy cập ngày 6 tháng 12 năm 2018.
- ^ a b Griffiths, Ian; Adams, Matthew (tháng 3 năm 2003). NET Windows Forms in a Nutshell. O'Reilly Media. tr. 27–53.
- ^ a b “FAQ: Winforms”. mono-project.com.
It is very unlikely that the implementation will ever implement everything needed for full compatibility with Windows.Forms. The reason is that Windows.Forms is not a complete toolkit, and to work around this problem some of the underlying Win32 foundation is exposed to the programmer in the form of exposing the Windows message handler