C#窗口对话框一般分为两种类型:模态类型(modal)与非模态类型(modeless)。
所谓模态对话框,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框。非模态对话框则不会强制此种特性,用户可以在当前对话框以及其他窗口间进行切换
下例中的Form1使用模态方式调用Form2,非模态就是在Form1中的form.ShowDialog();改为form.Show(); VS2010 winform的例子
namespace TestForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form = new Form2(); form.ShowDialog(); checkBox1.Checked = form.sel1; checkBox2.Checked = form.sel2; } } } namespace TestForm { public partial class Form2 : Form { public Boolean sel1; public Boolean sel2; public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { sel1 = true; sel2 = true; DialogResult = System.Windows.Forms.DialogResult.OK; } } }