我遇到了一些我无法自行解决的奇怪问题...我使用线程创建了启动画面(Form3 ~ SplashScreen),不知何故在应用程序到达该部分之后
线程.Abort();
(实际上会杀死线程)启动画面会一直留在屏幕上,直到我将鼠标移到它上面,或者在其他表单(例如 Form1)的某个地方单击它...我变得更加困惑,因为这在 VS 中不会发生当我运行应用程序时。启动画面正在正确关闭......,它只发生在编译的 .exe Program.cs 上
namespace ICAMReports
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
闪屏.cs
namespace ICAMReports
{
public partial class SplashScreen : Form
{
public SplashScreen()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
if (progressBar1.Value == 100)
{
timer1.Stop();
}
}
}
}
Form1.cs
namespace ICAMReports
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Thread th = new Thread(new ThreadStart(splashScreen));
th.Start();
Thread.Sleep(3000);
th.Abort();
}
public void splashScreen()
{
Application.Run(new SplashScreen());
}
//this where the rest of code is placed....
}
}
任何线索,为什么会发生这种情况或如何解决这个问题?
截屏: