procedure TForm1.EditButton1ButtonClick(Sender: TObject);
Var
P:TPoint;
begin
P := EditButton1.ClientToScreen(Point(0,0));
Form2.Top := P.Y+EditButton1.Height;
Form2.Left:= P.X;
Form2.Show;
end;
Implement the OnDeActivate event of the drop down form so that you can set it non visible.
that way it behaves like a drop down and will go away as soon as you change focus to another control
Also I set the second form to have no border so you need to draw the outline of the form too.