æ¨å¦æçªç¶éå°è¿æ ·çæ
åµ.åºè¯¥æ¯æ¨çç¨åºä¸ææªå¤ççå¼å¸¸.
å¼å¸¸ä¼åºç°å¨æ¨çç¨åºçä»»ä½ä¸ä¸ªå°æ¹.ä½æ¯å¦æä½ æ²¡æææå°.é£ä¹å°±ä¼é æç¨åºå´©æº.导è´æ¨çå°çæ
åµ.
å¨winformä¸å¯ä»¥è¿æ ·å¤çå
¨å±æªå¤çå¼å¸¸
/// <summary>
/// åºç¨ç¨åºç主å
¥å£ç¹ã
/// </summary>
public static ApplicationContext context;
[STAThread]
private static void Main()
{
try
{
//å¤çæªæè·çå¼å¸¸
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
//å¤çUI线ç¨å¼å¸¸
Application.ThreadException += Application_ThreadException;
//å¤çéUI线ç¨å¼å¸¸
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
var aProcessName = Process.GetCurrentProcess().ProcessName;
if ((Process.GetProcessesByName(aProcessName)).GetUpperBound(0) > 0)
{
MessageBox.Show(@"ç³»ç»å·²ç»å¨è¿è¡ä¸ï¼å¦æè¦éæ°å¯å¨ï¼è¯·ä»è¿ç¨ä¸å
³é...", @"ç³»ç»è¦å", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var sp = new SplashForm(); //create splash screen
sp.Show(); //show splash screen
context = new ApplicationContext();
context.Tag = sp;
Application.Idle += Application_Idle; //注åç¨åºè¿è¡ç©ºé²å»æ§è¡ä¸»ç¨åºçªä½ç¸åºåå§å代ç
Application.Run(context);
}
}
catch (Exception ex)
{
LogHelper.Log(ex);
MessageBox.Show("ç³»ç»åºç°æªç¥å¼å¸¸ï¼è¯·éå¯ç³»ç»ï¼");
}
}
//åå§åçå¾
å¤çå½æ°
private static void Application_Idle(object sender, EventArgs e)
{
Application.Idle -= Application_Idle;
if (context.MainForm == null)
{
var mw = new Login();
//YYQTestForm mw = new YYQTestForm();
context.MainForm = mw;
var sp = (SplashForm) context.Tag;
sp.Close(); //å
³éå¯å¨çªä½
mw.Show(); //å¯å¨ä¸»ç¨åºçªä½
}
}
///<summary>
/// è¿å°±æ¯æ们è¦å¨åçæªå¤çå¼å¸¸æ¶å¤ççæ¹æ³ï¼æè¿æ¯ååºé详ç»ä¿¡æ¯å°ææ¬ï¼å¦åºéåå¼¹åºä¸ä¸ªæ¼äº®çåºéæ示çªä½ï¼ç»å¤§å®¶å个åè
/// åæ³å¾å¤ï¼å¯ä»¥æ¯æåºé详ç»ä¿¡æ¯è®°å½å°ææ¬ãæ°æ®åºï¼åéåºéé®ä»¶å°ä½è
ä¿¡ç®±æåºéåéæ°åå§åçç
/// è¿å°±æ¯ä»è
è§ä»æºè
è§æºï¼å¤§å®¶èªå·±åäºã
///</summary>
///<param name="sender"> </param>
///<param name="e"> </param>
private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
var ex = e.Exception;
if (ex != null)
{
LogHelper.Log(ex);
}
MessageBox.Show("ç³»ç»åºç°æªç¥å¼å¸¸ï¼è¯·éå¯ç³»ç»ï¼");
}
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var ex = e.ExceptionObject as Exception;
if (ex != null)
{
LogHelper.Log(ex);
}
MessageBox.Show("ç³»ç»åºç°æªç¥å¼å¸¸ï¼è¯·éå¯ç³»ç»ï¼");
}