这就是它们的一点小区别了``` show()是非模式窗体. showDialog()是模式窗体. 区别在于,以showDialog()打开的窗体,要等窗体关闭后才能操作其他窗体.而show()则不受此限制. 这是最经常的区别了, 还有一个我个人使用的心得,你可以了解 比如你先打开子窗体,想隐藏主窗体。 如果这个时候用Show的话,则会发生的事情是,打开子窗体的同时主窗体又显示出来,而使用ShowDialog()的时候主要当子窗体关闭的时候主窗体才会显示。 简单代码如下: Form2 f2 = new Form2(); this.Visible = false; f2.ShowDialog();