private void FormMain_Load(object sender, EventArgs e) { // 認証パスワード登録or確認フォームをDisposeする場合。 if (formPassDispose) { Environment.Exit(1); } else { // 認証パスワード登録or確認フォームをDisposeせずにHideしていた場合は、FormMainロード完了後に各々Disposeする。 switch (thisformDispose) { case "formPassRegist": formPassRegist.Dispose(); break; case "formPassCheck": formPassCheck.Dispose(); break; default: break; } } // Mainフォームを表示する際にdbファイルを自動的にインポートする。 if (initImportdb) { try { foreach (LogicItemCollection importItem in logicCsv.ImportCsv(FILENAME, encryptionType)) { itemList.Add(importItem); } OnListRefresh(); importEncryptionType = encryptionType.ToString(); } catch (IOException ioExcept) { ShowMyDialog.ShowErrorMessageBox ("dbファイルの自動インポートに失敗しました。" + ioExcept.Message + "\n\n" + "ファイルのフォーマットが正しくない、ファイルが破損している可能性があります。\n" + "プログラムを起動する前に無効なdbファイルを削除する必要があります。\n\n" + "プログラムは終了します。", "- 自動インポートの実行のエラー"); // アプリケーションの強制終了。 Environment.Exit(1); } catch (CryptographicException cryptExcept) { ShowMyDialog.ShowErrorMessageBox ("dbファイルの自動インポートに失敗しました。" + cryptExcept.Message + "\n\n" + "kfconfigファイルのencryptionTypeの値が正しくない可能性があります。\n" + "プログラムを起動する前にencryptionTypeを有効な値に設定する必要があります。\n\n" + "プログラムは終了します。", "- 自動インポートの実行のエラー"); // アプリケーションの強制終了。 Environment.Exit(1); } finally { if (logicCsv.importStream != null) { logicCsv.importStream.Close(); } } // アイテムをインポートする前に本人認証パスワードを変更していた場合。 if (hashChangeBefImport) { foreach (LogicItemCollection item in itemList) { item.UserCheckPassHash = yourPassHashBefImp; } hashChangeBefImport = false; alreadyExportdb = false; } alreadyExportdb = true; // アイテムをインポートする前に設定ファイルを変更していた場合。 if (!configChangeBefImport) { itemListSearch.Clear(); // アラームを設定していて且つ有効期日が迫っているアイテムを確認。 foreach (LogicItemCollection item in itemList) { if (item.IsAlarmOnOrOff) { ShowFromAlarmExpire = true; break; } } if (ShowFromAlarmExpire) { foreach (LogicItemCollection alarmItem in itemList) { if (alarmItem.IsAlarmLimitOnOrOff) { // アラーム有効期日まで何日猶予があるかを確認する。 int _tmpAlarmLimitDays = (alarmItem.LimitDate - TodaysDate).Days; if (_tmpAlarmLimitDays < 0) { alarmItem.IsExpireLimitDate = true; itemListAlarmExpire.Add(alarmItem); } else if ((alarmItem.LimitDate - TodaysDate).Days < alarmRing) { itemListAlarmExpire.Add(alarmItem); } } } if (itemListAlarmExpire.Count != 0) { formAlarmExpire = new FormAlarmExpire(itemListAlarmExpire, alarmType); formAlarmExpire.ShowDialog(); if (!formAlarmExpire.IsDisposed) { formAlarmExpire.Dispose(); } } } } } manageConfigFile.ConfigFileError = false; InitializeControl(); }
private void alarmBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (itemListAlarmExpire.Count != 0) { formAlarmExpire = new FormAlarmExpire(itemListAlarmExpire, alarmType); formAlarmExpire.ShowDialog(); if (!formAlarmExpire.IsDisposed) { formAlarmExpire.Dispose(); } } mainProgressBar.Value = 0; }