public partial class F003_Splash : Form
{
private F003_Splash()
{
InitializeComponent();
}
// Thredding.
private static Thread _splashThread;
private static F003_Splash _splashForm;
// Show the Splash Screen (Loading...)
public static void ShowSplash()
{
if (_splashThread == null)
{
// show the form in a new thread
_splashThread = new Thread(new ThreadStart(DoShowSplash));
_splashThread.IsBackground = true;
_splashThread.Start();
}
}
// Called by the thread
private static void DoShowSplash()
{
if (_splashForm == null)
{
_splashForm = new F003_Splash();
_splashForm.StartPosition = FormStartPosition.CenterScreen;
_splashForm.TopMost = true;
}
// create a new message pump on this thread (started from ShowSplash)
Application.Run(_splashForm);
}
// Close the splash (Loading...) screen
public static void CloseSplash()
{
// Need to call on the thread that launched this splash
if (_splashForm.InvokeRequired)
_splashForm.Invoke(new MethodInvoker(CloseSplash));
else
Application.ExitThread();
}
}
Cách sử dụng như sau.
try
{
F003_Splash.ShowSplash();
LoadComponent();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
// EndFlashing
F003_Splash.CloseSplash();
this.Activate();
}
Mình đã áp dụng thử vào bài tập lớn: Đăng ký đào tạo tín chỉ
Bạn có thể tham khảo tại đây, download: http://www.mediafire.com/?fh6jcjmvy132d32
Cơ sở dữ liệu của nó thiết kế hơi xịt, không comment nhá!
0 comments:
Đăng nhận xét