OpenCode
范例下载
Introduction
C#中有两种显示窗体的方法,一个就是Form.Show(),另一个就是Form.ShowDialog()。虽然两者都可以实现窗体显示,但是二者还是存在着不同点的。
方法名,功能说明
Form.Show(),显示窗体。
Form.ShowDialog(),将窗体显示为模式对话框。
重载列表
名称 | 说明 |
---|---|
Form.Show () | 向用户显示控件。 |
Form.Show (IWin32Window) | 向用户显示具有指定所有者的窗体。 |
名称 | 说明 |
---|---|
Form.ShowDialog () | 将窗体显示为模式对话框,并将当前活动窗口设置为它的所有者。 由 .NET Compact Framework 支持。 |
Form.ShowDialog (IWin32Window) | 将窗体显示为具有指定所有者的模式对话框。 |
二者的区别在于,使用Form.Show()显示窗体,弹出窗体后依然可以对主窗体进行操作。而使用Form.ShowDialog()显示窗体,弹出窗体后不可以对主窗体进行鼠标操作和键盘操作。
本人随便写了个范例供大家参考
Button(ShowForm2byShow())_
Code
1private void button1_Click(object sender, EventArgs e)
2 {
3 this.Text = "我当前可以点击";
4 if (f2.Visible == true)
5 {
6 f2.Visible = false;
7 }
8 f2.Show();
9 f2.label1.Text = "Show Form2 By Form.Show()";
10 }
点击Button(ShowForm2byShow())的效果图如下:
1private void button1_Click(object sender, EventArgs e)
2 {
3 this.Text = "我当前可以点击";
4 if (f2.Visible == true)
5 {
6 f2.Visible = false;
7 }
8 f2.Show();
9 f2.label1.Text = "Show Form2 By Form.Show()";
10 }
Button(ShowForm2byShowDialog())_
Code
1private void button2_Click(object sender, EventArgs e)
2 {
3 this.Text = "我当前不可以点击";
4 if (f2.Visible == true)
5 {
6 f2.Visible = false;
7 }
8 f2.ShowDialog();
9 f2.label1.Text = "Show Form2 By Form.ShowDialog()";
10 }
点击Button(ShowForm2byShowDialog())的效果图如下:
1private void button2_Click(object sender, EventArgs e)
2 {
3 this.Text = "我当前不可以点击";
4 if (f2.Visible == true)
5 {
6 f2.Visible = false;
7 }
8 f2.ShowDialog();
9 f2.label1.Text = "Show Form2 By Form.ShowDialog()";
10 }