/// <summary> /// 一時的にファイル選択画面で保存したファイルパスとコンフィグを開く。 /// 一時的に保存していたファイルは削除する。 /// </summary> /// <param name="openPath">オープンするファイルのパス</param> /// <returns></returns> public OneTimeSave DeserializeXML(string openPath) { OneTimeSave ots = new OneTimeSave(); try { XmlSerializer xmlSer = new XmlSerializer(typeof(OneTimeSave)); if (File.Exists(openPath)) { StreamReader sr = new StreamReader(openPath, new UTF8Encoding(false)); ots = (OneTimeSave)xmlSer.Deserialize(sr); sr.Close(); File.Delete(openPath); } else { MessageBox.Show("指定されたファイルが存在しません。"); ots = new OneTimeSave(); } } catch (NotSupportedException nse) { MessageBox.Show("関数OpenPrevDataでエラーが発生しました。\n" + nse.HResult + " : " + nse.Message); ots = new OneTimeSave(); } return(ots); }
/* フォームを開いたときにする処理 */ public Main() { List <LaunchSoft> prevSoft = new List <LaunchSoft>(); InitializeComponent(); // TODO:ここで一時保存したファイルを変数に保持する // 設定項目(チェックボックス)の内容をコンフィグファイルから設定 ots = ots.DeserializeXML(gv.GetTempFilePass()); //cc.OpenConfig(); SetConfig(cc.OpenConfig(), ots.config); // ファイル選択画面で指定したファイルを開く。 liSoft = cc.DeserializeXML(ots.XmlFilePath); // 前回ファイルを開く if (checkBox_LaunchConfirm.Checked == true) { prevSoft = cc.DeserializeXML(gv.GetPreviousFilePass()); } else { prevSoft = new List <LaunchSoft>(); } dataGridView_Prev.DataSource = prevSoft; // 前回データを表示する dataGridView_Current.DataSource = liSoft; // 今回ファイルを表示する。 UpdateData(); ChangeGridViewStyle(dataGridView_Prev); ChangeGridViewStyle(dataGridView_Current); }
/// <summary> /// ファイル選択画面で指定したファイルパスとコンフィグを一時的に保存する。 /// </summary> /// <param name="savePath">保存先のファイルパス</param> /// <param name="xmlFilePath">保存するXMLファイルのパス</param> /// <param name="config">保存するコンフィグ</param> public void SerializeXML(string savePath, string xmlFilePath, Config config) { OneTimeSave ots = new OneTimeSave(); ots.XmlFilePath = xmlFilePath; ots.config = config; if (savePath.Length > 0) { XmlSerializer xmlser = new XmlSerializer(typeof(OneTimeSave)); StreamWriter sw = new StreamWriter(savePath, false, new UTF8Encoding(false)); xmlser.Serialize(sw, ots); sw.Close(); } else { } }