Skip to main content
All docs
V23.2

RibbonControl.CustomSearchItemPosition Event

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

Namespace: DevExpress.XtraBars.Ribbon

Assembly: DevExpress.XtraBars.v23.2.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.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