|
using DevExpress.LookAndFeel;
|
using DevExpress.XtraEditors;
|
using System;
|
using System.Windows.Forms;
|
|
namespace HStation.Desktop
|
{
|
internal static class Program
|
{
|
[STAThread]
|
static void Main()
|
{
|
using (var mutex = new System.Threading.Mutex(true, Application.ProductName, out bool createNew))
|
{
|
if (!createNew)
|
{
|
MessageBox.Show("程序正在运行中...");
|
Application.Exit();
|
return;
|
}
|
}
|
|
|
|
//处理未捕获的异常
|
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
|
//处理UI线程异常
|
Application.ThreadException += Application_ThreadException;
|
//处理非UI线程异常
|
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
|
Application.EnableVisualStyles();
|
Application.SetCompatibleTextRenderingDefault(false);
|
|
System.Windows.Forms.Application.EnableVisualStyles();
|
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
|
|
//字体
|
var font = new System.Drawing.Font("微软雅黑", 10);
|
DevExpress.XtraEditors.WindowsFormsSettings.DefaultFont = font;
|
DevExpress.XtraEditors.WindowsFormsSettings.DefaultMenuFont = font;
|
DevExpress.Utils.AppearanceObject.DefaultFont = font;
|
|
|
//zh-Hans界面翻译
|
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-Hans");
|
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-Hans");
|
|
//皮肤
|
DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact);
|
|
//初始化日志
|
//LogHelper.Initial();
|
|
//初始化雪花Id
|
//SnowflakeIdHelper.InitIdGenerator(1);
|
|
|
//var db = new MainDbContext();
|
//db.InitTables();
|
|
//登录
|
//if (!LoginHelper.Login())
|
// return;
|
|
var frmMain = new HStation.Desktop.GuideMain();
|
Application.Run(frmMain);
|
}
|
|
|
///<summary>
|
/// 这就是我们要在发生未处理异常时处理的方法,我这是写出错详细信息到文本,如出错后弹出一个漂亮的出错提示窗体,给大家做个参考
|
/// 做法很多,可以是把出错详细信息记录到文本、数据库,发送出错邮件到作者信箱或出错后重新初始化等等
|
/// 这就是仁者见仁智者见智,大家自己做了。
|
///</summary>
|
///<param name="sender"> </param>
|
///<param name="e"> </param>
|
private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
{
|
var ex = e.Exception;
|
//LogHelper.Error(ex.Message);
|
XtraMessageBox.Show($"系统出现未知异常,请重启系统!\r\n{ex.Message}");
|
}
|
|
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
|
{
|
var ex = e.ExceptionObject as Exception;
|
//LogHelper.Error(ex.Message);
|
XtraMessageBox.Show($"系统出现未知异常,请重启系统!\r\n{ex?.Message}");
|
}
|
}
|
}
|