Form的Show()和ShowDialog()方法区别

使用Show()时,不同窗体不会影响。

 同时,如果使用诸如distanceQueryForm.Show(MainForm.Owner);在Show方法里面给予一个窗体的引用,则可以使得distanceQueryForm这个窗体依附在MainForm之上,即无论MainForm如何操纵,distanceQueryForm都会显示在MainForm之前。即如下效果:

Form的Show()和ShowDialog()方法区别_第1张图片

否则distanceQueryForm(三维地物距离量测)窗体会被MainForm给覆盖掉。

Caution

由于C#垃圾回收机制的存在,在关掉distanceQueryForm子窗体后,该子窗体不会立即销毁。所以在调用Show(MainForm.Owner)的方法的时候可能会出现" Show(this.Owner)无法访问已释放的对象。ObjectDisposed_ObjectName_Name' "的异常。

使用ShowDialog()时,打开一个窗体之后必须关掉才能操作另一个窗体。

你可能感兴趣的:(C#学习笔记)