继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【C#】一个Loading窗体载入与销毁的方法

幕布斯7119047
关注TA
已关注
手记 432
粉丝 28
获赞 99

写在前面
Minecraft Command Editor 2跳票了近两年的时间(对不起!!)。2021年2月,我重启了MCE项目,并正式命名为Minecraft Command Editor 2021,感谢大家三年来的支持,鞠躬!

在MCE项目中,Main窗体载入前,会进行数据库和其他配置的加载,在这个阶段,因此,在加载的空档期载入一个Loading窗口,有效的解决了从视觉上程序加载慢的问题。今天我们来说一个比较好的Loading窗体载入与销毁的方法。

一个Loading窗体载入与销毁的方法
首先我们来定义一个Form类:

namespace Minecraft_Command_Editor
{
	partial class Loading{}		// Loading Form
	partial class Main{}		// Main Form
	partial class Settings{}	// Settings Form
	partial class About{}		// About Form
}

在Program类中Main函数中插入:

Loading loading = new Loading();	// Creates the Loading object.
loading.ShowDialog();			// Shows the Loading Form as a modal dialog box.
if (loading.Visible == false)
{
	Application.Run(new Main());	// Begins running a standard application message loop on the current thread, and makes the Main form visible.
}

最后Program类看起来长这样:

static class Program
{
	[STAThread]
	static void Main()
	{
		Application.SetHighDpiMode(HighDpiMode.SystemAware);
		Application.EnableVisualStyles();
		Application.SetCompatibleTextRenderingDefault(false);

		Loading loading = new Loading();	// Creates the Loading object.
		loading.ShowDialog();			// Shows the Loading Form as a modal dialog box.
		if (loading.Visible == false)
		{
			Application.Run(new Main());	// Begins running a standard application message loop on the current thread, and makes the Main form visible.
		}
	}
}

这是一个单线程程序的Loading窗体载入方法,想要销毁Loading进入到Main窗体,则需要在Loading类的适当位置加入销毁代码即可。
例如:

using System;
using System.Windows.Forms;
using Functions.System;		// Custom namespace
namespace Minecraft_Command_Editor
{
	public partial class Loading : Form
	{
		private void Loading_Shown(object sender, EventArgs e)
		{
			Process.ThreadDelay(512);	// Thread delay 512ms.
			this.Close();				// Close Form.
		}
	}
}

写在后面
一年前,我在知乎也分享了一个Loading窗体载入的方法,方法不同但思路是一样的。
实际上,关于Main窗体的前置载入方法有很多,大家选择自己喜欢的即可。

作者:是阿夢呀
原文出处:https://www.cnblogs.com/ikaroinory/p/14721062.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP