// 从 Form1 跳转到 Form2Form2 form2 = new Form2();form2.Show();Hide(); // 隐藏当前窗体2. this[Key]优点:可以跳转到任何已创">

c#一个窗体跳转到另外一个窗体是怎么弄的

来源:这里教程网 时间:2026-02-21 16:48:19 作者:

C# 中实现窗体之间的跳转

在 C# 中,实现窗体之间的跳转有多种方法:

1. 构造函数

优点:简单直接,代码量少。 缺点:只能从一个窗体直接跳转到另一个窗体。
<code class="c#">// 从 Form1 跳转到 Form2
Form2 form2 = new Form2();
form2.Show();
Hide(); // 隐藏当前窗体</code>

2. this[Key]

优点:可以跳转到任何已创建的窗体。 缺点:代码量较多,需要获取窗体的引用。
<code class="c#">// 从 Form1 跳转到 Form2
if (this["Form2"] != null)
{
    Form2 form2 = (Form2)this["Form2"];
    form2.Show();
}</code>

3. Application.OpenForms

优点:无需提前创建窗体。 缺点:需要遍历所有已创建的窗体。
<code class="c#">// 从 Form1 跳转到 Form2
bool isForm2Open = false;
foreach (Form form in Application.OpenForms)
{
    if (form.Name == "Form2")
    {
        form.Show();
        isForm2Open = true;
        break;
    }
}
if (!isForm2Open)
{
    Form2 form2 = new Form2();
    form2.Show();
}</code>

4. 调用 GetForm

优点:简便高效,避免了遍历所有窗体。 缺点:需要引用 Microsoft.VisualBasic 命名空间。
<code class="c#">// 从 Form1 跳转到 Form2
using Microsoft.VisualBasic;
Form2 form2 = Form.GetForm<Form2>();
if (form2 == null)
{
    form2 = new Form2();
}
form2.Show();</code>

以上是 C# 中实现窗体跳转的几种常用方法,根据具体需求选择最合适的方法即可。

相关推荐