C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1

C#中如何让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1
如题,刚刚开始学习winform编程,这个小问题不懂C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1
程序是这样子:登陆—主页面—显示签到成功(三秒)—回到主页面
百度谷歌了很久,很多人都说使用定时器,我试过很多都不行,各种出错。小白好悲伤,女程序员就要崩溃了!T_T所以来这里发帖求助。
有没有大神来帮我一下C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1,最好给出解决方案,贴一下源码,感激不尽!
------解决方案--------------------
1.登陆,跳转到主界面
2.在主界面的Form.Shown 事件写入代码:
{
new 签到().show();
sleep(3000);
this.close();
}
只有在首次显示窗体时才会引发 Shown 事件;随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。
2.主界面.show();

------解决方案--------------------
引用:
如题,刚刚开始学习winform编程,这个小问题不懂C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1
程序是这样子:登陆—主页面—显示签到成功(三秒)—回到主页面
百度谷歌了很久,很多人都说使用定时器,我试过很多都不行,各种出错。小白好悲伤,女程序员就要崩溃了!T_T所以来这里发帖求助。
有没有大神来帮我一下C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1,最好给出解决方案,贴一下源码,感激不尽!

看需求是想在登陆完成后,给出一个提示信息框。
1.验证登陆,如果成功,new 个新窗体.这个新窗体上添加个timer控件
2. ShowDialog() ,在新窗体的load函数中启用timer,
timer的interval就是需要显示的时间
timer的执行内容就是 this.Close()
3.新窗体关闭后,使用dispose释放



------解决方案--------------------
你直接从工具箱里拖个timer出来就可以了,不要乱用System.Timers.Timer ,这个是多线程的
------解决方案--------------------
我又看了一遍你的问题,3楼的代码不对,最后一行不应该是this.Close(),这样岂不是主界面被关闭了
正确的代码应该是:
签到 obj1=new 签到();
obj1.Show();
System.Threading.Thread.Sleep(3000);
obj1.Close();
------解决方案--------------------
参考如下代码:
Timer是拖拽到Form2里的。
主窗体Form1:
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.ShowDialog();
        }


被弹出窗体Form2:
        int i = 5;
        public Form2()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            i--;
            button1.Text = string.Format("关闭({0})", i);
            if (i == 0)
                this.Close();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            button1.Text = string.Format("关闭({0})", i);
        }

------解决方案--------------------
登录窗体的登录按钮事件
private void btn_login_Click(object sender, EventArgs e)
        {
            MainForm mainForm = new MainForm();
            mainForm.ShowDialog();
        }
主窗体的load事件
private void MainForm_Load(object sender, EventArgs e)
        {
            PromptForm promptForm = new PromptForm();
            promptForm.ShowDialog();
        }
提示窗体里拖一个Timer控件 设置属性Enable 为true Interval 为3000 然后加Timer的Tick事件
  private void timer1_Tick(object sender, EventArgs e)
        {
            this.Close();
        }

引用:
如题,刚刚开始学习winform编程,这个小问题不懂C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1
程序是这样子:登陆—主页面—显示签到成功(三秒)—回到主页面
百度谷歌了很久,很多人都说使用定时器,我试过很多都不行,各种出错。小白好悲伤,女程序员就要崩溃了!T_T所以来这里发帖求助。
有没有大神来帮我一下C#中怎么让窗口1弹出窗口2,窗口2显示几秒之后再跳转回窗口1,最好给出解决方案,贴一下源码,感激不尽!