/// <summary> /// 名前を付けて保存をクリック /// </summary> private void SaveNameAndGraph_Click(object sender, EventArgs e) { //保存先のローカルアドレス string LocalSaveAdress; try { //マイドキュメント LocalSaveAdress = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal); string NowTime = DateTime.Now.ToString(); NowTime = ((NowTime.Replace(" ", "")).Replace("/", "")).Replace(":", ""); LocalSaveAdress += @"\Gi-ProxysSavedGraph\" + NowTime; //ディレクトリが存在しなかった場合に作成 DirectoryInfo di = Directory.CreateDirectory(LocalSaveAdress); di.Create(); //System.Diagnostics.Process.Start(LocalSaveAdress); //グラフとテーブルの保存 IOXML write = new IOXML(); write.writeData(GraphData[MainNodeParty], @LocalSaveAdress); } catch { MessageBox.Show("保存に失敗しました。"); return; } MessageBox.Show("保存に成功しました。"); }
/// <summary> /// メインフォームを閉じようとするとき /// </summary> private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { try { //フォームの終了を押してこのイベントに入った場合にのみ終了させる if (!WhichCloseButton) { this.Hide(); e.Cancel = true; return; } WhichCloseButton = false; //ブロックリストの保存 string SaveBanlistStr = ""; foreach (string name in BanList) { SaveBanlistStr += name + '/'; } Gi_Proxy.Properties.Settings.Default.Banlist = SaveBanlistStr; Gi_Proxy.Properties.Settings.Default.Save(); //操作権限があるか判断 if (SettingDefault.PassStatus == true && SettingDefault.PassSet == false) { //権限が無い場合は消させない MessageBox.Show("操作権限がありません。設定->機能制限より認証をしてください。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); e.Cancel = true; } //終了時にはグラフの情報をすべて保存する try { //保存先のローカルアドレス string LocalSaveAdress; //マイドキュメントを指定WW LocalSaveAdress = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal); string NowTime = DateTime.Now.ToString(); NowTime = ((NowTime.Replace(" ", "")).Replace("/", "")).Replace(":", ""); LocalSaveAdress += @"\Gi-ProxysSavedGraph\" + NowTime; DirectoryInfo di = Directory.CreateDirectory(LocalSaveAdress); di.Create(); IOXML write = new IOXML(); write.writeData(GraphData[MainNodeParty], @LocalSaveAdress); } catch { return; } } catch (Exception E) { MessageBox.Show(E.ToString(), "Closingイベントエラー"); } }
/// <summary> /// グラフを開くをクリック /// </summary> private void OpenGraphSelect_Click(object sender, EventArgs e) { //保存先のローカルアドレス string LocalSaveAdress = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) +@"\SavedGraph\"; //FolderBrowserDialogクラスのインスタンスを作成 FolderBrowserDialog fbd = new FolderBrowserDialog(); //上部に表示する説明テキストを指定する fbd.Description = "フォルダを指定してください。"; //フォルダが存在しなかったらの場合に想定して作成 DirectoryInfo di = Directory.CreateDirectory(LocalSaveAdress); di.Create(); //最初に選択するフォルダを指定する fbd.SelectedPath = LocalSaveAdress; //ダイアログを表示する if (fbd.ShowDialog(this) == DialogResult.OK) { //選択されたフォルダを表示する LocalSaveAdress = fbd.SelectedPath; } else { return; } int IndexLength = LocalSaveAdress.Split('\\').Length; string AddName = LocalSaveAdress.Split('\\')[IndexLength - 1]; if (GraphData.ContainsKey(AddName)) { MessageBox.Show("重複したグラフは開けません"); return; } //グラフの読み込み IOXML read = new IOXML(); GraphData.Add(AddName, read.readData(LocalSaveAdress)); comboBox1.Items.Add(AddName); //イベント追加や演算に使用する力の適用sss lock (GraphData[AddName].Nodes) { foreach (Node n in GraphData[AddName].Nodes.Values) { n.NodeShape.Click += new System.EventHandler(this.NodeShape_Click); n.NodeShape.MouseUp += new MouseEventHandler(this.NodeShape_MouseUp); n.NodeShape.MouseMove += new MouseEventHandler(this.NodeShape_MouseMove); n.NodeShape.ContextMenuStrip = contextMenuStrip1; n.L += (R - 15) * RateOfChange; n.G += ((R - 15) * RateOfChange) * 10; } } }