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

比如,点击一个BUTTON,即可以从这个窗体转换到另一个新的窗体,用代码如何实现?

    首先 program.cs 中 

    [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(); 这行代码是需要手动添加的
    }

    Form1:Button_Click

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

    Form2:Button_Click

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

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

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

    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();
    }

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-06
Frm1 frm1=new Frm1();frm1.Show(); 实例化需要弹出的窗体之后,调用Show方法之后就可以了一把加入变量控制,防止多次点击多次弹出,你可以对比两端代码,很简单int i=0;if(i==0){ i++; Frm1 frm1=new Frm1(); frm1.Show();}本回答被网友采纳

C# 实现多个子窗体切换效果
以下为实现多窗口切换的步骤:首先,创建主窗体并在其中放置一个panel容器和按钮,用于控制切换。然后,新建用于在主窗体中显示的子窗体。这些子窗体是基于用户控件(Windows窗体)构建的,通过在状态栏中右击选择“添加”>“用户控件(Windows窗体)”来创建。接着,确保子窗体和panel容器的尺寸相匹配,以免...

C# Winform中如何实现窗体之间的跳转
1、把子窗体的接收框改变成public。让外部可以访问。因为要把子窗体的内部对象公开,所以不符合代码原则。2、在子窗体中加一个公开的方法,让外部调用( 对修改关闭,对扩展开放)代码如下:namespace Demo{ public partial class ParentFrm :Form { \/\/定义委托 public Action<string> atcSend { ...

C#怎么从一个窗口跳转到另一个窗口?
方法一:Form1 f1= new Form1();f1.Mdiparent=this;f1.show();如果该窗体不显示 this.visible=false;如果该窗体关闭:this.close();方法二:Form2 f2 = new Form2();this.Hide();f2.Show(); \/\/f2.ShowDialog();

C# Winform中如何实现窗体之间的跳转
回答:实现窗体之间的跳转在同一个项目中我有两个窗体,如何指定某一个窗体为我的程序运行时的第一个窗口?static void Main(){Application.Run(new FormName());}FormName就是你想启动的第一个窗体。实现窗体之间的跳转:程序首先运行的是“登录”窗体,如果是新用户,就需要注册,再登录窗体,单击...

C#怎么从一个窗口跳转到另一个窗口?
在窗体中定义另外窗体,使另外一个窗体显示就可以Form1f1=newForm1();如果窗体存在子父关系的话f1.Mdiparent=this;f1.show();如果该窗体不显示this.visible=false;如果该窗体关闭:this.close();

c#如何从一个窗体跳到另一个窗体
比如说Form1 要点击一个按钮弹出Form2 可以在按钮事件里面写 Form2 f2=new Form2()f2.Show()this.Close() \/\/可写可不写,打开Form2,关闭Form1 this.Hide() \/\/可写可不写,打开Form2,隐藏Form1

C#中如何从一个界面返回到另一个界面
需要窗体间跳转,例如登录窗体A,跳转到主窗体B的实现过程是这样的:双击登录窗体A登录按钮,在里面验证登录密码后,写上 A a=new A(); a.Show(); this.hide(); 就可以实现跳转 或者返回另一个界面即:从A界面到B界面。

C#如何让一个窗体出现几秒后自动跳转到第二个窗体?
使用timer控件,定时触发控件跳转 例如:Warehouse_System.HManage.ISManage IS = new Warehouse_System.HManage.ISManage();IS.ShowDialog();跳转到另外一个窗口

c#窗体怎么实现页面跳转?不用网页的方法
将你希望出现的Panel.Show()出来,然后将你不希望出现的Panel.Hide()掉就ok啦。你所谓的跳转其实就是,将一个隐藏,将另一个显示罢了。

C# WPF 中怎么实现几个page之间的相互跳转?
如果有先后顺序建议使用下面的方式 Form2 f2 = new Form2();this.Visible = false;f2.ShowDialog();this.Visible= true;窗口之间传值 可以改一下构造函数 public MainWindow(string value1,string value2){ \/\/...} 调用:MainWindow window=new MainWindow(传值1,传值2);window.Show();

相似回答