- [DEVEXPRESS] Hỗ trợ tìm kiếm highlight không dấu và không khoảng cách trên Gridview Filter
- [C#] Chia sẻ source code phần mềm Image Downloader tải hàng loạt hình ảnh từ danh sách link url
- [C#] Chụp hình và quay video từ camera trên winform
- [C#] Chia sẽ full source code tách file Pdf thành nhiều file với các tùy chọn
- Giới thiệu về Stock Tracker Widget - Công cụ theo dõi cổ phiếu và cảnh báo giá tăng giảm bằng C# và WPF
- [VB.NET] Chia sẻ công cụ nhập số tiền tự động định dạng tiền tệ Việt Nam
- [VB.NET] Hướng dẫn fill dữ liệu từ winform vào Microsoft word
- [VB.NET] Hướng dẫn chọn nhiều dòng trên Datagridview
- Hướng Dẫn Đăng Nhập Nhiều Tài Khoản Zalo Trên Máy Tính Cực Kỳ Đơn Giản
- [C#] Chia sẻ source code phần mềm đếm số trang tập tin file PDF
- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [C#] Hướng dẫn download file từ Minio Server Winform
[DEVEXPRESS] Hướng dẫn sử dụng Ribbon Mini Toolbar giống Microsoft Word trong RichEditControl
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách sử dụng Ribbon Mini Toolbar trong RichEditControl của Devexpress.
[DEVEXPRESS] Hướng dẫn sử dụng Ribbon Mini Toolbar giống Microsoft Word trong RichEditControl
Từ phiên bản Microsoft Word 2016 trở đi, Microsoft đã thay đổi giao diện sang dạng RibbonControl Bar.
Trong phiên bản mới này, khi các bạn chọn một vùng nào đó của văn bản, thì ứng dụng Word sẽ hiển thị một thanh Mini Toolbar giống như hình bên dưới.

Trong bài viết này, mình sẽ hướng dẫn các bạn cách làm tương tự cho RichEditControl Devepxress từ phiên bản 11 trở lên.
Và dưới đây là giao diện demo ứng dụng sử dụng Ribbon Mini Toolbar Devexpress C# của mình:

Từ giao diện Ribbon control các bạn chọn thuộc tính và tìm kiếm thuộc tính Mini toolbar của Ribbon control để chúng ta tạo menu, như hình dưới đây:

Sau khi chọn xong, các bạn click chọn vào ribbonMiniToolbar1 và chạy Run Designer để tiến hành cấu hình thêm các button cho toolbar này.

Sau khi thêm xong, các bạn tiến hành code như mình ở source code bên dưới.
Source code RibbonMiniToolbar Devexpress C#:
using DevExpress.Office.Utils;
using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraRichEdit.API.Native;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
namespace RibbonMiniToolbarApp
{
    public partial class Form1 : DevExpress.XtraEditors.XtraForm
    {
        public Form1()
        {
            InitializeComponent();
            richEditControl1.MouseUp += richEditControl1_MouseUp;
        }
        void richEditControl1_MouseUp(object sender, MouseEventArgs e)
        {
            if (richEditControl1.Document.Selection.Length != 0)
            {
                DocumentPosition documentPosition = richEditControl1.Document.CaretPosition;
                Rectangle documentRectangle = richEditControl1.GetBoundsFromPosition(documentPosition);
                Point documentPoint = new Point(documentRectangle.Left, documentRectangle.Bottom);
                Point clientPoint = Units.DocumentsToPixels(documentPoint, richEditControl1.DpiX, richEditControl1.DpiY);
                Point screenPoint = richEditControl1.PointToScreen(clientPoint);
                ribbonMiniToolbar1.Show(screenPoint);
            }
        }
        private int GetRibbonMiniToolbarHeight()
        {
            PropertyInfo p = typeof(RibbonMiniToolbar).GetProperty("Form", BindingFlags.NonPublic | BindingFlags.Instance);
            DevExpress.XtraBars.Ribbon.RibbonMiniToolbarPopupForm f = p.GetValue(ribbonMiniToolbar1, null) as DevExpress.XtraBars.Ribbon.RibbonMiniToolbarPopupForm;
            int height = f.Size.Height;
            return height;
        }
        private void richEditControl1_PopupMenuShowing(object sender, DevExpress.XtraRichEdit.PopupMenuShowingEventArgs e)
        {
            DevExpress.XtraRichEdit.Menu.RichEditPopupMenu defaultMenu = e.Menu;
            defaultMenu.CloseUp += defaultMenu_CloseUp;
            ribbonMiniToolbar1.OpacityOptions.AllowTransparency = false;
            int height = GetRibbonMiniToolbarHeight();
            ribbonMiniToolbar1.Show(new Point(Control.MousePosition.X, Control.MousePosition.Y - height));
        }
        void defaultMenu_CloseUp(object sender, EventArgs e)
        {
            DevExpress.XtraRichEdit.Menu.RichEditPopupMenu menu = sender as DevExpress.XtraRichEdit.Menu.RichEditPopupMenu;
            ribbonMiniToolbar1.OpacityOptions.AllowTransparency = true;
            menu.CloseUp -= defaultMenu_CloseUp;
        }
    }
}
Thanks for watching!

![[DEVEXPRESS] Hướng dẫn sử dụng Ribbon Mini Toolbar giống Microsoft Word trong RichEditControl](https://laptrinhvb.net/uploads/users/9a8cb514e4428e85fb4ca07588e9103f.png)



![[DEVEXPRESS] Hướng dẫn ẩn hiển thị icon header column filter trên GridView](https://laptrinhvb.net/uploads/source/csharp/remove_filter_header_gridview_thumb.jpg)

![[DEVEXPRESS + C#] Tạo cột số thứ tự tăng tự động cho dòng và group trong GridControl](https://laptrinhvb.net/uploads/source/image_baiviet/ed0fd432872cdca4d5cb6b5d1b3c34ad.jpg)
![[DEVEXPRESS] Hướng dẫn chuyển đổi File Word docx sang tập tin PDF sử dụng RichEditDocumentServer](https://laptrinhvb.net/uploads/source/vbnet/chuyen-file-word-sang-pdf-don-gian.jpg)
![[DEVEXPRESS] Hướng dẫn hiển thị thông báo Notification Windows 10 lập trình C#](https://laptrinhvb.net/uploads/source/devexpress/toast_manager_win10_thumb.png)
![[DEVEXPRESS] Hướng dẫn sử dụng BestSizeEstimator Class để Auto Resize XRlabel trong Report](https://laptrinhvb.net/uploads/source/devexpress/auto_resize_xrlabel_devexpress_thumb.jpg)
![[DEVEXPRESS] Hướng dẫn sử dụng WinExplorer View trong GridView để hiển thị hình ảnh](https://laptrinhvb.net/uploads/source/devexpress/winexplorer_devexpress_thumb.png)
![[DEVEXPRESS] Hướng dẫn sử dụng Stub Glyphs và Behavior Manager làm hình icon winform](https://laptrinhvb.net/uploads/source/devexpress/Stub_Glyph_Devexpress.png)
![[DEVEXPRESS] Hướng dẫn sử dụng Popup Menu trong Gridview](https://laptrinhvb.net/uploads/source/image_baiviet/41129370a089d632a9d2e42ed40cac97.jpg)
![[DEVEXPRESS] Chia sẻ source code cách tạo biểu đồ sơ đồ tổ chức công ty Org Chart trên Winform C#](https://laptrinhvb.net/uploads/source/devexpress/org_chart_devexpress.png)
![[DEVEXPRESS] Hướng dẫn bỏ phím chức năng Watermark  và Export excel, pdf ra khỏi Dialog print report C#](https://laptrinhvb.net/uploads/source/image_baiviet/80492d7583d8cbd8a7727245ec9a4935.jpg)
![[DEVEXPRESS] Hướng dẫn xuất dữ liệu nhiều Gridview ra một file Excel winform](https://laptrinhvb.net/uploads/source/devexpress/excel_export_multigridview_csharp.jpg)
![[DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên XtraMessageBox Winform Devexpress 22.2.3](https://laptrinhvb.net/uploads/source/devexpress/message_dialog_thumb.png)
![[DEVEXPRESS] Tìm kiếm không dấu tô màu highlight có dấu trên C# Winform](https://laptrinhvb.net/uploads/source/new_image_baiviet/THUMB_HIGHLIGHT.png)
![[DEVEXPRESS] Hướng dẫn viết ứng dụng Infinite Scrolling trong GridView sử dụng VirtualServerModeSource](https://laptrinhvb.net/uploads/source/new_image_baiviet/Infinite_Scrolling.png)
![[DEVEXPRESS] Hướng dẫn tạo Report động  - Tutorial create dynamic xtraReport in VB.NET](https://laptrinhvb.net/uploads/source/image_baiviet/7969271099de52d19c33c86b8a3b6347.png)
![[DEVEXPRESS] Hướng dẫn tạo hiệu ứng form overlay in csharp](https://laptrinhvb.net/uploads/source/csharp/overlay_form_csharp_thumb.jpg)
![[DEVEXPRESS] Thừa kế control SearchLookupEdit thành MultiSelectGridLookupEdit](https://laptrinhvb.net/uploads/source/devexpress/multiselectsearchlookupedit_thumb.png)
![[DEVEXPRESS] Hướng dẫn tải hình ảnh bất đồng bộ (Load Image Async) vào GridView](https://laptrinhvb.net/uploads/source/image_baiviet/dfc3e7e817f2347d78121ef915833266.jpg)
![[DEVEPXRESS] Hướng dẫn sử dụng Do not show message Again trong XtraMessageBox Winform](https://laptrinhvb.net/uploads/source/DATABASE/donot_show_message.png)
![[DEVEXPRESS] Hướng dẫn sử dụng combobox image vào gridview](https://laptrinhvb.net/uploads/source/image_baiviet/5288018c684653b4a509a4b2d0e3fd88.png)
![[DEVEXPRESS] Hướng dẫn show Form chọn dữ liệu từ Form2 trả về Form1 trên C#](https://laptrinhvb.net/uploads/source/devexpress/0.jpg)

