RT,如果碰到窗体加载慢的时候显示正在加载,加载完后显示窗体。如果窗体加载快就不显示,直接显示窗体,网上查找资料,似乎可以用多线程的方式,请指教,最好给个例子学习下,谢谢各位!(注:有没有可能实现类似reportview控件的那种加载的显示方式)
解决方案 »
- C#扫雷,将游戏用时最短者的姓名和时间,保存到排行榜,这个功能怎么做呢?
- C# unicode 16位编码 转汉字
- 我用的是Vs2008 C#里面如何让 if、for等语句块自动折叠
- 静态方法只能访问类的静态成员,不能访问类的非静态成员;哪们高手从原理上能解释下
- 将 varchar 值 转换为数据类型为 int 的列时发生语法错误。
- SqlDataAdapter 问题
- 加密串的问题
- C#中的索引符问题 (各位帮忙一下)
- 请大家帮忙解释一下基础问题。
- 关于Windows Application中音乐处理的问题
- *********字符串高度计算********
- WPF下能不能在控件里打开一个新程序?
可以使用backgroundworker控件来试试
{
PicBox.Visible = false;
tlp1.Visible = true;
} private void BackWorker_DoWork(object sender, DoWorkEventArgs e)
{
//要执行的动作
}
private void button1_Click(object sender,EventArgs e)
{
BackWorker.RunWorkerAsync();
}
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Main.WaitForm sp = new Main.WaitForm(); //启动窗体---为等待窗口,显示正在加载窗体。、
context = new ApplicationContext();
context.Tag = sp;
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.Idle += new EventHandler(Application_Idle); //程序运行空闲去执行主程序窗体相应初始化代码
sp.Show(); //显示启动窗体
Application.Run(context);
}
private static void Application_Idle(object sender, EventArgs e)
{
Application.Idle -= new EventHandler(Application_Idle);
Start();
} private static void Start()
{
if (context.MainForm == null)
{
//启动主程序窗体
Main.MainDesktop mw = Main.MainDesktop();
context.MainForm = mw;
mw.Initialization_All();
mw.Show(); //如果加载完毕,则关闭启动窗体
Main.WaitForm sp = context.Tag as Main.WaitForm;
if (sp != null)
{
sp.Close();
}
}
}测试可用