Cách đơn giản thiết kế giao diện Ribbon cho ứng dụng WinForms
Giới thiệu
Hình bên là giao diện sử dụng thanh Toolbar dạng Ribbon. Ribbon là một control đồ hoạ trên Form, cho phép đặt các nút trên thanh Toolbar và các Tabs. Cấu trúc cơ bản của Ribbon bao gồm các thanh công cụ lớn gắn các thẻ (tab), trong các thẻ chứa các nút đồ hoạ và các điều khiển khác được nhóm chức năng. Giao diện Ribbon được giới thiệu trong phiên bản Microsoft Offices 2007 và trở thành giao diện tương đối phổ biến trong các phần mềm hiện nay.
Một số kiểu Ribbon
-
Style 2007
-
Style 2010
-
Style 2013
Bài này trình bày cách sử dụng một control Ribbon cho thiết kế giao diện, đây là một control mã nguồn mở được tạo bởi Jose Menendez Poo. Tuy nhiên tác giả gốc của Ribbon này đã người hỗ trợ nó, một nhóm các fan của control Ribbon này hiện tiếp tục đảm nhận phát triển/cải thiện và hỗ trợ Ribbon này.
Tác giả ban đầu của Ribbon đã đăng một bài viết giải thích control này, bạn có thể đọc ở đây [A Professional Ribbon You Will Use (Now with orb!)], nhưng không có mô tả về cách sử dụng nó trong code của bạn. Do đó bài viết này sẽ hướng dẫn bạn sử dụng nó.
- Site gốc: http://ribbon.codeplex.com (tác giả ban đầu và đã dừng hỗ trợ )
- Site gốc 2: http://officeribbon.codeplex.com (tiếp quản bởi fans) site đã dừng
- Site mới: https://github.com/RibbonWinForms/RibbonWinForms
Cách sử dụng Control Ribbon
- Thư viện Ribbon có thể add bằng công cụ Nuget. Kích chuột phải vào Project của bạn và tới Manage Nuget Packages…
- Đánh từ khoá
RibbonWinForms
và cài đặt gói này.
- Kéo Ribbon ở thanh Toolbox vào Form
- Kích Add Tab
- Kích Add Panel
- Thêm Commands vào Panel
- Kích vào nút và thêm các control nếu muốn
- Thay đổi biểu tượng icon và nhãn cho nút
- Thêm sự kiện
Click
cho nút Save.
- Viết code cho sự kiện, trong ví dụ này đơn giản chỉ hiển thị MessageBox
- Bây giờ, bạn thử chạy ứng dụng
- Ví dụ sử dụng kiểu của
RibbonForm
- Thay thế lớp thừa kế mặc định là
Form
- thành lớp
RibbonForm
Chú ý
Một số hành vi của RibbonForm
có thể không làm việc đúng trong một số trường hợp của thể. Chúng tôi khuyến nghị bạn cần thực hiện test cẩn thận trước khi đưa ứng dụng vào sử dụng thực tế.
Một vài giải pháp Control Ribbon khác
- Windows Ribbon Framework
https://docs.microsoft.com/en-us/windows/win32/windowsribbon/-uiplat-windowsribbon-entry
Support Windows 7 onwards - Krypton WinForms components for .NET
https://github.com/ComponentFactory/Krypton - RibbonLib
https://github.com/ennerperez/RibbonLib
https://www.nuget.org/packages/RibbonLib - Windows Ribbon for WinForms
https://github.com/ennerperez/RibbonLib
http://blogs.microsoft.co.il/arik/2010/11/08/windows-ribbon-for-winforms-v26-released/
http://www.codeproject.com/Articles/55599/Windows-Ribbon-for-WinForms-Part-0-Table-of-Conten - Ribbon by Juan Pablo G.C.
http://www.codeproject.com/Articles/18449/An-easy-way-to-add-a-Ribbon-Panel-Office-2007-styl
http://www.codeproject.com/Articles/19044/The-new-RibbonForm-RibbonRoundButton-and-FastMenu