C#显示窗体方式分为模态与非模态两种,在模态显示时除非关闭窗体否则鼠标只能在软件的当前窗体操作。
使用form.ShowDialog();以模态方式显示;form.Show()为非模态显示。
下例中的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;
}
}
}