Windows Forms

Graphical user interface software libraryBản mẫu:SHORTDESC:Graphical user interface software library
Windows Forms (WinForms)
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 đầu13 tháng 2 năm 2002; 22 năm trước (2002-02-13)
Phiên bản ổn định
v5.0.0-rtm.20520.1 / 20 tháng 10 năm 2020; 3 năm trước (2020-10-20)
Kho mã nguồn
  • github.com/dotnet/winforms Sửa dữ liệu tại Wikidata
Viết bằngC#
Hệ điều hànhMicrosoft Windows
Nền tảng.NET Framework, .NET Core
Thể loạiSoftware framework
Giấy phépMIT License
Websitedocs.microsoft.com/en-us/dotnet/framework/winforms/

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 taymá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

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

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

Để 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

  • Cổng thông tin Free and open-source software

Tham khảo

  1. ^ Sells, Chris (ngày 6 tháng 9 năm 2003). Windows Forms Programming in C# (ấn bản 1). Addison-Wesley Professional. tr. xxxviiii.
  2. ^ “Design and Implementation Guidelines for Web Clients by Microsoft Pattern and Practices”. Microsoft. tháng 11 năm 2003.
  3. ^ 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 2). Addison-Wesley Professional.
  4. ^ “Introduction to Windows Forms” (Visual Studio 2003 documentation). Microsoft 2003.
  5. ^ 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.
  6. ^ 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.
  7. ^ a b Griffiths, Ian; Adams, Matthew (tháng 3 năm 2003). NET Windows Forms in a Nutshell. O'Reilly Media. tr. 27–53.
  8. ^ 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

Liên kết ngoài

  • MSDN: Building Windows Forms applications
  • MSDN: Windows.Forms reference documentation
  • MSDN: Windows Forms Technical Articles - Automating Windows Form with Visual Test

Bản mẫu:.NET Framework

  • x
  • t
  • s
Danh sách giao diện ứng dụng và thư viện khung Microsoft Windows
Đồ họa
Desktop Window Manager, Direct2D, Direct3D, D3D (extensions), GDI / GDI+, WPF, Windows Color System, Windows Image Acquisition, Windows Imaging Component
Audio
DirectMusic, DirectSound, DirectX plugin, XACT, Speech API, XAudio2
Đa phương tiện
DirectX, Media Objects, Video Acceleration, DirectInput, DirectShow, Image Mastering API, Managed DirectX, Media Foundation, XNA, Windows Media, Video for Windows
Web
MSHTML, RSS Platform, JScript, VBScript, BHO, XDR, SideBar Gadgets
Truy cập dữ liệu
Data Access Components, Extensible Storage Engine, ADO.NET, ADO.NET Entity Framework, Sync Framework, Jet Engine, MSXML, OLE DB, OPC
Mạng máy tính
Winsock, LSP, Winsock Kernel, Filtering Platform, Network Driver Interface Specification, Windows Rally, BITS, P2P API, MSMQ, MS MPI, DirectPlay
Thông tin liên lạc
Messaging API, Telephony API, WCF
Quản trị & quản lý
Win32 console, Windows Script Host, WMI (extensions), PowerShell, Task Scheduler, Offline Files, Shadow Copy, Windows Installer, Error Reporting, Event Log, Common Log File System
Chuẩn thành phần
COM, COM+, ActiveX, Distributed Component Object Model, .NET Framework
Thư viện (máy tính)
Base Class Library (BCL), Microsoft Foundation Classes (MFC), Active Template Library (ATL), Windows Template Library (WTL)
Thiết bị cài đặt
Windows Driver Model, Windows Driver Foundation, KMDF, UMDF, WDDM,NDIS,UAA,Broadcast Driver Architecture,VxD
Bảo mật
Crypto API, CAPICOM, Windows CardSpace, Data Protection API, Security Support Provider Interface (SSPI)
.NET
ASP.NET, ADO.NET, Base Class Library (BCL), Remoting, Silverlight, TPL, WCF, WCS, WPF, WF
Chế tạo phần mềm
EFx Factory, Enterprise Library, Composite UI, CCF, CSF
IPC
MSRPC, Trao đổi dự liệu động(DDE), Remoting, WCF
Tính truy cập
Active Accessibility, UI Automation
Văn bản và đa ngôn ngữ
DirectWrite, Text Services Framework, Text Object Model, Input method editor, Language Interface Pack, Multilingual User Interface, Uniscribe

Bản mẫu:Microsoft FOSS

Bản mẫu:Widget toolkits

Bài viết này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.
  • x
  • t
  • s