visual studio 2005 C#做软件欢迎窗体遇到label控件无法显示,请高手来帮忙看看

我准备用C#实现一个软件欢迎窗体,就是当启动软件后,先显示一个欢迎的窗体告诉用户,程序正在加载中,然后关闭欢迎窗体,显示程序主窗体。我是这样实现的:首先新建一个windo... 我准备用C#实现一个软件欢迎窗体,就是当启动软件后,先显示一个欢迎的窗体告诉用户,程序正在加载中,然后关闭欢迎窗体,显示程序主窗体。
我是这样实现的:首先新建一个windows应用程序项目,form1窗体(即用来做程序主窗体)
from1.cs中代码如下:
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2 fw = new Form2();
fw.Show();
System.Threading.Thread.Sleep(3000);
fw.Close();
}
}
}
然后在此项目中添加一个windows窗体——form2(即用来做欢迎窗体,form2.cs中代码没添加任何代码),该窗体中有一个label控件,用来显示“程序加载中,请稍等...”信息。
但当调试时,我发现当from1(即主窗体)调用显示form2(即欢迎窗体),from2窗体中的label控件无法显示(由于form2窗体就一个label控件,所以不存在排放位置“置顶层”的问题)该控件显示为一个白色的区域,如图:

请问这是咋回事?为什么label控件无法显示出来?我很肯定label控件的visible属性为true,所以请大家帮我看下到底怎么回事?
展开
 我来答
沧海V飞天
2009-07-01 · TA获得超过450个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:269万
展开全部
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2 fw = new Form2();
fw.Show();
Application.DoEvent();
System.Threading.Thread.Sleep(3000);
fw.Close();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dkxpsg
2009-06-30 · TA获得超过1628个赞
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:1046万
展开全部
因为System.Threading.Thread.Sleep(3000);这句阻塞了主线程,没有“人”负责绘制主窗体,所以窗体便卡在那里,在Form2里加一个Timer控件就行了,代码如下
Form1
public Form1()
{
InitializeComponent();
Form2 fw = new Form2();
fw.ShowDialog();
}

Form2:先设置好timer1的Interval=1000,Enabled =true
int times = 0;
private void timer1_Tick(object sender, EventArgs e)
{
times++;
if (times == 3)
{
this.Close();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-07-01
展开全部
fw.refresh();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式