2022年8月10日 星期三

[C#]除錯專用,當程式出現非預期錯誤或閃退

 在Main加入以下可在程式閃退前,提示訊息

static class Program
{
    /// <summary>
    /// 應用程式的主要進入點。
    /// </summary>
    [STAThread]
    static void Main()
    {
        AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);


        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());


    }
    private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
        Console.WriteLine(e.ExceptionObject.ToString());
        MessageBox.Show(e.ExceptionObject.ToString());
    }
}

[C#]限定只開啟一個程序,防止重複啟動

 Main 中加入 以下

static void Main()
{
  //Other
  bool ret;
  System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
  if (ret)
  {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new Form1());
  }
  else
  {
    MessageBox.Show(null, "This process is running.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
    //   提示信息,可以刪除。  
    Application.Exit();//退出程式  
  }

}

[SQL]顯示千分位與小數顯示

  CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) CONVERT style參數說明 1  (expression為 money 或 smallmoney型別): 0 : 預設,保留小數位後兩位,並四捨...