C#中,新建form1和form2窗体,运行时如何让form1窗体显示3秒后消失,然后form2窗体显现出来??求解
展开全部
看看我的理解是这样的。
窗体1显示三秒,这三秒中几乎肯定是没有人机交互的,你想三秒内能交互什么?那么极有可能窗体2是一个主窗体,而窗体1只是向用户展示一些信息而已。那么在C#中有一个专有名词叫splash,可以使用splash的,建立时直接建立splash,其实它就是一个张图片而已,至于想让其显示多久,可以调整其中的参数。
splash可以应付你大多数时间的需求,但如果不是,比如form1显示后,以后还会再显示,其实也可以使用splash+实窗体实现的。开始时是一个splash,后来再显示的窗体与splash相同即可。一般splash的作用是起到了一个用户缓冲的作用,比如加载窗体时间过长,那以可以使用splash,主窗体缓冲完成后,splash消失,主窗体显示。另一个作用就是声明版权信息等作用。
所以个人认为splash能达到你的要求的。
窗体1显示三秒,这三秒中几乎肯定是没有人机交互的,你想三秒内能交互什么?那么极有可能窗体2是一个主窗体,而窗体1只是向用户展示一些信息而已。那么在C#中有一个专有名词叫splash,可以使用splash的,建立时直接建立splash,其实它就是一个张图片而已,至于想让其显示多久,可以调整其中的参数。
splash可以应付你大多数时间的需求,但如果不是,比如form1显示后,以后还会再显示,其实也可以使用splash+实窗体实现的。开始时是一个splash,后来再显示的窗体与splash相同即可。一般splash的作用是起到了一个用户缓冲的作用,比如加载窗体时间过长,那以可以使用splash,主窗体缓冲完成后,splash消失,主窗体显示。另一个作用就是声明版权信息等作用。
所以个人认为splash能达到你的要求的。
展开全部
在form1窗体中加入一个Timer控件,然后设置Interval为3000,在form1load的时候触发,timer的enable为true,timer执行窗体隐藏与form2的显示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题是,form2关闭的时候,还显示form1么?
我以还返回form1做了个demo
//////////////////form1
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private System.Windows.Forms.Timer timer1;
private DateTime startDateTime;
public Form1()
{
InitializeComponent();
startDateTime = DateTime.Now;
//
// timer1
//
this.timer1 = new Timer();
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
this.timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
TimeSpan ts = dt.Subtract(startDateTime);
if (ts.Seconds == 3)
{
Form2 f2 = new Form2(this);
f2.Show();
this.Hide();
}
}
}
}
//////////////////form2
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
private Form1 f1;
public Form2(Form1 f1)
{
InitializeComponent();
this.f1 = f1;
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
f1.Show();
}
}
}
我以还返回form1做了个demo
//////////////////form1
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private System.Windows.Forms.Timer timer1;
private DateTime startDateTime;
public Form1()
{
InitializeComponent();
startDateTime = DateTime.Now;
//
// timer1
//
this.timer1 = new Timer();
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
this.timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
TimeSpan ts = dt.Subtract(startDateTime);
if (ts.Seconds == 3)
{
Form2 f2 = new Form2(this);
f2.Show();
this.Hide();
}
}
}
}
//////////////////form2
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
private Form1 f1;
public Form2(Form1 f1)
{
InitializeComponent();
this.f1 = f1;
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
f1.Show();
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询