static void Main() { try { // 設定を読み込む UserSettingAdapter.Load(); Application.Run(new MainForm()); // 設定を保存する UserSettingAdapter.Save(); } catch (Exception ex) { #region 例外ログを書き出す Log exceptionLog = new Log(TwitterAwayZweiInfo.ExceptionLogFilePath); StringBuilder error = new StringBuilder(); Assembly entryAsm = OpenNETCF.Reflection.Assembly2.GetEntryAssembly(); error.Append("Application: " + AssemblyUtility.GetTitle(entryAsm) + " " + AssemblyUtility.GetVersion(entryAsm).ToString() + "\r\n"); error.Append("Date: " + System.DateTime.Now.ToString("G") + "\r\n"); error.Append("OS: " + Environment.OSVersion.ToString() + "\r\n"); error.Append("Culture: " + System.Globalization.CultureInfo.CurrentCulture.Name + "\r\n"); error.Append("Exception class: " + ex.GetType().ToString() + "\r\n"); error.Append("Exception ToString: " + ex.ToString() + "\r\n"); error.Append("Exception message: " + "\r\n"); error.Append(ex.Message); error.Append("Exception stack : " + "\r\n"); error.Append(ex.StackTrace); error.Append("\r\n"); error.Append("\r\n"); exceptionLog.LogThis(error.ToString(), Log.LogPrefix.date); #endregion // 例外ログを書き出す // 例外の再送 throw ex; } }
private void SettingForm_Closing(object sender, CancelEventArgs e) { #region 設定の書き込み switch (timelineListFontSizeDomainUpDown.SelectedIndex) { case 1: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size6pt; break; case 2: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size7pt; break; case 3: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size8pt; break; case 4: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size9pt; break; case 5: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size10pt; break; case 6: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size11pt; break; case 7: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size12pt; break; case 8: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size13pt; break; case 9: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size14pt; break; case 10: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size15pt; break; case 11: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size16pt; break; case 12: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size17pt; break; case 13: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size18pt; break; case 14: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size19pt; break; case 15: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.Size20pt; break; case 0: default: UserSettingAdapter.Setting.TimelineListFontSize = UserSetting.TimelineListFontSizes.DefaultSize; break; } UserSettingAdapter.Setting.UserName = userNameTextBox.Text; UserSettingAdapter.Setting.Password = passwordTextBox.Text; if (checkFriendsRadioButton.Checked == true) { UserSettingAdapter.Setting.CheckList = Twitter.Twitter.CheckLists.Friends; } else if (checkPublicRadioButton.Checked == true) { UserSettingAdapter.Setting.CheckList = Twitter.Twitter.CheckLists.Public; } else { // ここに到達することはあり得ない Trace.Assert(false, "想定外の動作のため、終了します"); } UserSettingAdapter.Setting.IsFetchProfileImages = fetchProfileIconsCheckBox.Checked; try { UserSettingAdapter.Setting.UpdateTimulineInterval = Convert.ToInt32(checkTimelineIntervalNumericUpDown.Text); } catch (ArgumentException) {; } catch (FormatException) {; } catch (OverflowException) {; } try { UserSettingAdapter.Setting.UpdateDirectMessageInterval = Convert.ToInt32(checkDirectMessageIntervalNumericUpDown.Text); } catch (ArgumentException) {; } catch (FormatException) {; } catch (OverflowException) {; } if (proxyNoUseRadioButton.Checked == true) { UserSettingAdapter.Setting.Proxy.ProxyUse = WebProxySetting.ProxyConnects.NoUse; } else if (autoDetectProxySettingRadioButton.Checked == true) { UserSettingAdapter.Setting.Proxy.ProxyUse = WebProxySetting.ProxyConnects.AutoDetect; } else if (manualProxySettingRadioButton.Checked == true) { UserSettingAdapter.Setting.Proxy.ProxyUse = WebProxySetting.ProxyConnects.Manual; } else { // ここに到達することはあり得ない Trace.Assert(false, "想定外の動作のため、終了します"); } UserSettingAdapter.Setting.Proxy.ProxyServer = proxyServerTextBox.Text.Trim(); try { UserSettingAdapter.Setting.Proxy.ProxyPort = int.Parse(proxyPortTextBox.Text.Trim()); } catch (ArgumentException) {; } catch (FormatException) {; } catch (OverflowException) {; } try { UserSettingAdapter.Save(); } catch (IOException) { MessageBox.Show("設定ファイルが書き込めませんでした", "設定ファイル書き込みエラー"); } #endregion }