///// <summary> ///// XMLファイルからリストを開く ///// </summary> ///// <returns>XMLから開いたリスト</returns> //public List<LaunchSoft> DeserializeXML() //{ // List<LaunchSoft> llist = new List<LaunchSoft>(); // string filePath = ""; // filePath = OpenDialog("オープンするファイルを選択してください", gv.MyDirectory, _Kakuchoshi_XMLFile); // if (filePath.Length > 0) // { // /* 選択したファイルをデシリアライズしてリストに格納する。 */ // XmlSerializer xmlSer = new XmlSerializer(typeof(List<LaunchSoft>)); // try // { // StreamReader sr = new StreamReader(filePath, new UTF8Encoding(false)); // llist = (List<LaunchSoft>)xmlSer.Deserialize(sr); // sr.Close(); // } // catch (NotSupportedException nse) // { // llist = new List<LaunchSoft>() // { // new LaunchSoft() // { // Launch = false, // Name = "できない", // Path = nse.ToString() // } // }; // } // } // else // { // /* 処理なし */ // } // return llist; //} //public List<LaunchSoft> DeserializeXML(string xmlFilePath) //{ // List<LaunchSoft> llist = new List<LaunchSoft>(); // if (xmlFile.Path.Length > 0) // { // /* 選択したファイルをデシリアライズしてリストに格納する。 */ // XmlSerializer xmlSer = new XmlSerializer(typeof(List<LaunchSoft>)); // try // { // StreamReader sr = new StreamReader(xmlFile.Path, new UTF8Encoding(false)); // llist = (List<LaunchSoft>)xmlSer.Deserialize(sr); // sr.Close(); // } // catch (NotSupportedException nse) // { // llist = new List<LaunchSoft>() // { // new LaunchSoft() // { // Launch = false, // Name = "できない", // Path = nse.ToString() // } // }; // } // } // else // { // /* 処理なし */ // } // return llist; //} ///// <summary> ///// 前回使用していたデータを開く。 ///// 無ければ ///// </summary> ///// <returns>前回使用していたデータ</returns> //public List<LaunchSoft> OpenPrevData() //{ // List<LaunchSoft> llist = new List<LaunchSoft>(); // /* 選択したファイルをデシリアライズしてリストに格納する。 */ // XmlSerializer xmlSer = new XmlSerializer(typeof(List<LaunchSoft>)); // try // { // if (File.Exists(gv.GetPreviousFilePass())) // { // StreamReader sr = new StreamReader(gv.GetPreviousFilePass(), new UTF8Encoding(false)); // llist = (List<LaunchSoft>)xmlSer.Deserialize(sr); // sr.Close(); // } // else // { // llist = new List<LaunchSoft>(); // } // } // catch (NotSupportedException nse) // { // MessageBox.Show("関数OpenPrevDataでエラーが発生しました。\n" + nse.HResult + " : " + nse.Message ); // llist = new List<LaunchSoft>(); // } // return llist; //} /// <summary> /// リスト内の重複をチェックする。 /// </summary> /// <param name="checkList">チェックするリスト</param> /// <param name="checkData">チェックするデータ</param> /// <returns>重複の有無</returns> private bool DuplicateCheck(List <LaunchSoft> checkList, LaunchSoft checkData) { bool isDuplicate = false; foreach (LaunchSoft ls in checkList) { if (ls.Name.Contains(checkData.Name)) { isDuplicate = true; } } return(isDuplicate); }
/* 起動するファイルを追加する */ private void button_Add_Click(object sender, EventArgs e) { string filepath = ""; LaunchSoft addSoft = new LaunchSoft(); filepath = cc.OpenDialog("追加するファイルを選択してください", gv.GetDesktopPass(), "すべてのファイル|*.*"); if (filepath.Length > 0) { addSoft.Launch = true; addSoft.Name = Path.GetFileName(filepath); addSoft.Path = filepath; cc.AddData(liSoft, addSoft, checkBox_DuplicateCheck.Checked); UpdateData(); } }
/// <summary> /// リストにソフトの情報(名前やパス)を追加する。 /// </summary> /// <param name="lList">ソフトの情報を追加するリスト</param> /// <param name="doc">追加するソフトの情報</param> /// <param name="DupChk">重複のチェックボックスの状態</param> public void AddData(List <LaunchSoft> lList, LaunchSoft doc, bool DupChk) { // 重複があり、かつ重複が許されていなければ if (DuplicateCheck(lList, doc) && (DupChk == false)) { DialogResult dr = new DialogResult(); dr = MessageBox.Show("既に追加されています。\n同じデータを追加してもよろしいですか?", "重複確認", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { lList.Add(doc); } return; } else { lList.Add(doc); } return; }