OSDN Git Service

initial build for opensource
[applistation/AppliStation.git] / AppliStation / AppliStation.Util / ExceptionDialogForm.cs
1 using System;\r
2 using System.Drawing;\r
3 using System.Windows.Forms;\r
4 \r
5 namespace AppliStation.Util\r
6 {\r
7         /// <summary>\r
8         /// Description of ExceptionDialogForm.\r
9         /// </summary>\r
10         public partial class ExceptionDialogForm : Form\r
11         {\r
12                 public ExceptionDialogForm()\r
13                 {\r
14                         //\r
15                         // The InitializeComponent() call is required for Windows Forms designer support.\r
16                         //\r
17                         InitializeComponent();\r
18                 }\r
19                 \r
20                 private static void Application_ThrowException(Exception e)\r
21                 {\r
22                         ExceptionDialogForm form = new ExceptionDialogForm();\r
23                         if (e != null) {\r
24                                 form.detailTextBox.Text = e.ToString() + System.Environment.NewLine + e.StackTrace;\r
25                         } else {\r
26                                 form.viewDetailButton.Visible = false;\r
27                         }\r
28                         \r
29                         switch (form.ShowDialog()) {\r
30                                 case DialogResult.Cancel:\r
31                                         return;\r
32                                 default:\r
33                                         Application.Exit();\r
34                                         break;\r
35                         }\r
36                 }\r
37                 \r
38                 public static void Application_ThrowException(object sender, System.Threading.ThreadExceptionEventArgs e)\r
39                 {\r
40                         Application_ThrowException(e.Exception);\r
41                 }\r
42                 \r
43                 public static void Application_ThrowException(object sender, UnhandledExceptionEventArgs e)\r
44                 {\r
45                         Application_ThrowException((Exception) e.ExceptionObject);\r
46                 }\r
47                 \r
48                 void ViewDetailLabelLinkClicked(object sender, EventArgs e)\r
49                 {\r
50                         this.detailTextBox.Visible = true;\r
51                         this.viewDetailButton.Enabled = false;\r
52                         this.Size = new Size(this.Size.Width, this.Size.Height + 250);\r
53                 }\r
54                 \r
55                 void Form_Shown(object sender, EventArgs e)\r
56                 {\r
57                         this.quitButton.Focus();\r
58                 }\r
59         }\r
60 }\r