protected void OnHeaderDropdown(int column)
    {
        var handler = HeaderDropdown;

        if (handler == null)
        {
            return;
        }
        var args = new HeaderDropdownArgs()
        {
            Column = column
        };

        handler(this, args);
        if (args.Control == null)
        {
            return;
        }
        var frm = new Form();

        frm.FormBorderStyle   = FormBorderStyle.FixedSingle;
        frm.ShowInTaskbar     = false;
        frm.ControlBox        = false;
        args.Control.Location = Point.Empty;
        frm.Controls.Add(args.Control);
        frm.Load         += delegate { frm.MinimumSize = new Size(1, 1);  frm.Size = frm.Controls[0].Size; };
        frm.Deactivate   += delegate { frm.Dispose(); };
        frm.StartPosition = FormStartPosition.Manual;
        var rc = GetHeaderRect(column);

        frm.Location = this.PointToScreen(new Point(rc.Right - SystemInformation.MenuButtonSize.Width, rc.Bottom));
        frm.Show(this.FindForm());
    }
 protected void OnHeaderDropdown(int column)
 {
     var handler = HeaderDropdown;
     if (handler == null) return;
     var args = new HeaderDropdownArgs() { Column = column };
     handler(this, args);
     if (args.Control == null) return;
     var frm = new Form();
     frm.FormBorderStyle = FormBorderStyle.None;
     frm.ShowInTaskbar = false;
     frm.ControlBox = false;
     args.Control.Location = Point.Empty;
     frm.Controls.Add(args.Control);
     frm.Load += delegate { frm.MinimumSize = new Size(1, 1);  frm.Size = frm.Controls[0].Size; };
     frm.Deactivate += delegate { frm.Dispose(); };
     frm.StartPosition = FormStartPosition.Manual;
     var rc = GetHeaderRect(column);
     frm.Location = this.PointToScreen(new Point(rc.Right - SystemInformation.MenuButtonSize.Width, rc.Bottom));
     frm.Show(this.FindForm());
 }