Form的Show()和ShowDialog()方法区别
使用Show()时,不同窗体不会影响。
同时,如果使用诸如distanceQueryForm.Show(MainForm.Owner);在Show方法里面给予一个窗体的引用,则可以使得distanceQueryForm这个窗体依附在MainForm之上,即无论MainForm如何操纵,distanceQueryForm都会显示在MainForm之前。即如下效果:
否则distanceQueryForm(三维地物距离量测)窗体会被MainForm给覆盖掉。
Caution:
由于C#垃圾回收机制的存在,在关掉distanceQueryForm子窗体后,该子窗体不会立即销毁。所以在调用Show(MainForm.Owner)的方法的时候可能会出现" Show(this.Owner)无法访问已释放的对象。ObjectDisposed_ObjectName_Name' "的异常。
使用ShowDialog()时,打开一个窗体之后必须关掉才能操作另一个窗体。