Skip to main content
All docs
V25.1
  • RibbonControl.CustomSearchItemPosition Event

    Allows you to align the Search box within the header of the Ribbon form.

    Namespace: DevExpress.XtraBars.Ribbon

    Assembly: DevExpress.XtraBars.v25.1.dll

    NuGet Package: DevExpress.Win.Navigation

    Declaration

    [DXCategory("Events")]
    public event RibbonCustomSearchItemPositionHandler CustomSearchItemPosition

    Event Data

    The CustomSearchItemPosition event's data class is DevExpress.XtraBars.Ribbon.RibbonCustomSearchItemPositionArgs.

    Remarks

    The Ribbon control raises the CustomSearchItemPosition event when the Search box is displayed at the top of the Ribbon form (SearchItemPosition is set to SearchItemPosition.Caption). Handle this event to align the Search box within the header of the Ribbon form.

    The e.SearchItemBounds property specifies the size and position of the Search box.

    Use the e.Bounds property to obtain the area within the header of the form where the Search box can be displayed.

    The e.IsCollapsed property allows you to identify whether the Search box is collapsed when the width of the form is too small.

    Use the e.IsActive property to obtain whether the Search box is focused.

    Example

    The following example demonstrates how to align the Search box to the right of the form caption:

    Align the Search Box - WinForms Ribbon, DevExpress

    using System.Drawing;
    using DevExpress.XtraBars.Ribbon;
    
    namespace DXApplication11 {
        public partial class Form1 : RibbonForm {
            public Form1() {
                InitializeComponent();
                ribbonControl1.OptionsSearchMenu.SearchItemPosition = SearchItemPosition.Caption;
                ribbonControl1.RibbonCaptionAlignment = RibbonCaptionAlignment.Center;
                ribbonControl1.CustomSearchItemPosition += RibbonControl1_CustomSearchItemPosition;
            }
            private void RibbonControl1_CustomSearchItemPosition(object sender, RibbonCustomSearchItemPositionArgs e) {
                if(e.IsCollapsed) return;
                int searchItemWidth = e.SearchItemBounds.Width <= 360 ? e.SearchItemBounds.Width : 360;
                e.SearchItemBounds = new Rectangle(
                    e.Bounds.Width - searchItemWidth,
                    e.SearchItemBounds.Y,
                    searchItemWidth,
                    e.SearchItemBounds.Height);
            }
        }
    }
    
    See Also