C#学习笔记——Show()与ShowDialog()的区别

用Show()调用的窗体不会返回任何值,在使用form.Show()显示form以后,会马上继续执行form.Show()后面的语句。
而用ShowDialog()调用的窗体会返回一个DialogResult型的值,在使用form.ShowDialog()后,主程序会暂停,等待form被Close()以后返回一个值,然后再继续执行form.ShowDialog()后面的语句。

另外,假如用form.ShowDialog()打开了form,然后又在form中用MessageBox.Show(string)弹出了一个对话框,则在MessageBox关闭后,form也会被关闭,可在form的FormClosing事件中加入以下处理来解决此问题:

            if (e.CloseReason == CloseReason.None)
            {
                e.Cancel = true;
            }

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>