我使用地铁框架来创建启动屏幕,但是当我使用.Abort()函数作为线程时,启动屏幕就根本不工作了。但是如果我使用.Suspend(),它可以工作,但是即使在主表单加载之后,splash屏幕也不会被处理。这是密码,
public Login()
{
Thread t = new Thread(new ThreadStart(loading));
t.Start();
InitializeComponent();
for(int i = 0; i <= 1000; i++)
{
Thread.Sleep(10);
t.Abort();
}
}
void loading()
{
Splash frmsplash = new Splash();Application.Run(frmsplash);
}这是飞溅屏幕代码,
public partial class Splash : MetroFramework.Forms.MetroForm
{
public Splash()
{
InitializeComponent();
}
}发布于 2018-09-01 12:37:33
我找到了一个解决方案,但不知道它是否对每个人都有效,我只是把t.Abort()放在for循环之外,它确实对我有用。
发布于 2018-09-01 12:40:30
Thread.Abort一次又一次地被引发,直到它被Thread.ResetAbort处理.考虑使用联接或中断,并等待线程退出。
https://stackoverflow.com/questions/52127205
复制相似问题