//private FieldAccessor gridViewAccesor = null;
//private FieldInfo gridViewField = null;
private void InitializeSearchBox()
{
if (searchBox != null) return;
//const BindingFlags bflags = BindingFlags.Instance | BindingFlags.NonPublic;
searchBox = new TextBox();
searchBox.Location = new Point(0, 0);
searchBox.Size = new Size(70, searchBox.Height);
searchBox.BorderStyle = BorderStyle.Fixed3D;
searchBox.Font = new Font("Tahoma", 8.25f);
searchBoxBackColor = searchBox.BackColor;
searchBox.TextChanged += (s, _) => ApplyFilter();
// Hack: let's remove the read-only flag on the toolstrip controls collection
var rofield = new FieldAccessor(ToolStrip.Controls, "_isReadOnly");
rofield.Set(false);
ToolStrip.Controls.Add(searchBox);
rofield.Set(true);
ToolStrip.SizeChanged += (s, _) => FixSearchBoxLocation();
FixSearchBoxLocation();
// And now initialize accessors
InitializeAccessors();
PropertyTabChanged += (s, _) => searchBox.Text = string.Empty;
PropertySortChanged += (s, _) => searchBox.Text = string.Empty;
SelectedObjectsChanged += (s, _) => searchBox.Text = string.Empty;
}