个人看法:如果你的这个东西只有在一个Form里面用,那么就不用另外启动一个Form了,直接用一个Panel就可以了,然后控制这个Panel的显示与否,当你点击Form的其他地方的时候也就是Form的OnClick事件,隐藏这个Panel,这样就可以控制你说的哪钟情况了,把Panel分格设置一下,看起来象一个Form
如果是多个窗体都用的话,也可以,因为这个窗体的Form里面本来就有个变量的,比如说var
ShowForm: TShowForm
那么在你引用的Form里面判断就可以了,比如在MainForm里面
if Assigned(ShowForm) then ShowForm.Hide 或者
if Assigned(ShowForm) then ShowForm.Free
以上还是在OnClick里面判断
至于显示你自己已经搞定了,看看能不能对你有参考价值