在C#中如何实现窗体之间的跳转?

比如,点击一个BUTTON,即可以从这个窗体转换到另一个新的窗体,用代码如何实现?... 比如,点击一个BUTTON,即可以从这个窗体转换到另一个新的窗体,用代码如何实现? 展开
 我来答
dong_1984dd
2015-08-20 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:228万
展开全部
  1. 首先 program.cs 中 

  2. [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        // 自动生成的代码是这样的
        // Application.Run(new Form1());

        // 表示 实例化一个新的 Form1 并显示之 此时程序进入消息循环
        // 一旦 Form1 被关闭则程序也随之关闭了
        // 为了让程序在 Form1 关闭后可以继续运行 需要修改下

        new Form1().Show();
        Application.Run();

        // 这样做就能避免 Form1 被关闭后程序自动退出了

        // 但这样做的风险是什么呢?
        // 一旦用户忘记了 Application.Exit();
        // 则程序在所有窗口关闭后 其进程仍然没有结束
        // 所以 Application.Exit(); 这行代码是需要手动添加的
    }

  3. Form1:Button_Click

  4. Form2 f = new Form2();
    f.Show();
    this.Close();

  5. Form2:Button_Click

  6. Form1 f = new Form1();
    f.Show();
    this.Close();

  7. 注意:当最后一个窗口关闭时要调用 Application.Exit(); 否则程序进程是不会结束的

  8. 解决办法:(假设Form2是最后一个窗口)

  9. private void Panel1_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Closed += new EventHandler(this.f2_Closed);
     //f2.Closed += (obj, args) => { Application.Exit(); };
        f2.Show();
        this.Close();
    }

    private void f2_Closed(object sender, EventArgs e)
    {
        Application.Exit();
    }

匿名用户
2013-06-06
展开全部
Frm1 frm1=new Frm1();frm1.Show(); 实例化需要弹出的窗体之后,调用Show方法之后就可以了一把加入变量控制,防止多次点击多次弹出,你可以对比两端代码,很简单int i=0;if(i==0){ i++; Frm1 frm1=new Frm1(); frm1.Show();}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式