In the form properties, set the StartPosition to Manual.
Then:
myForm f = new myForm();
f.Location = Cursor.Position;
f.Show();
This sets it to the current mouse position.
Or:
myForm f = new myForm();
f.Location = PointToScreen(myButton.Location);
f.Show();
This sets it to the button location - the button will be covered by the form.