コード例 #1
0
ファイル: MainForm.cs プロジェクト: modybick/StickyNote
        /// <summary>
        /// ノートの読み込み
        /// </summary>
        public void loadNotes()
        {
            //フォルダ作成
            makeDir();

            //ノートを読込
            IEnumerable <string> files      = Directory.EnumerateFiles(@".\Notes");
            XmlSerializer        serializer = new XmlSerializer(typeof(Settings));

            foreach (string file in files)
            {
                try
                {
                    StreamReader sr       = new StreamReader(file, new UTF8Encoding(false));
                    Settings     settings = (Settings)serializer.Deserialize(sr);
                    sr.Close();
                    //ノートを作ってプロパティをセット
                    NoteForm nf = new NoteForm();
                    notes.Add(nf);
                    nf.Size     = settings.Size;
                    nf.Location = settings.Point;
                    Color color = Color.FromArgb(settings.Color);
                    nf.BackColor   = color;
                    nf.title       = settings.Title;
                    nf.isHyperLink = settings.HyperLink;
                    nf.isTopMost   = settings.TopMost;
                    nf.loadRtf(settings.RtfName);

                    nf.StartPosition = FormStartPosition.Manual;
                    nf.Owner         = this;
                    nf.Show();

                    settings = null;
                }
                catch
                {
                    MessageBox.Show("ノートの読み込みに失敗しました。");
                }
            }
            if (Application.OpenForms.Count == 1)
            {
                newNote();
            }
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: modybick/StickyNote
        /// <summary>
        /// ノートの保存
        /// </summary>
        public void saveNotes()
        {
            makeDir();  //ノート保存用ディレクトリの作成

            //既にあるデータをクリア
            fileDel(@".\Notes");
            fileDel(@".\rtf");

            //XmlSerializerオブジェクトを作成
            XmlSerializer serializer = new XmlSerializer(typeof(Settings));

            for (int i = 0; i < notes.Count; i++)
            {   //各NoteFormにループ処理
                //保存用クラスのインスタンス作成
                Settings settings = new Settings();
                NoteForm nf       = (NoteForm)notes[i];
                //保存用インスタンスにプロパティセット
                settings.Size      = nf.Size;
                settings.Point     = nf.Location;
                settings.Color     = nf.BackColor.ToArgb();
                settings.Title     = nf.title;
                settings.HyperLink = nf.isHyperLink;
                settings.TopMost   = nf.isTopMost;
                rtfName            = rtfDir + i + ".rtf";
                settings.RtfName   = rtfName;
                nf.saveRtf(rtfName);

                //ファイル名の作成
                xmlName = @".\Notes\Note" + i + ".config";
                //書き込むファイルを開く
                StreamWriter sw = new StreamWriter(xmlName, false, new UTF8Encoding(false));
                //シリアル化し、XMLファイルに保存する
                serializer.Serialize(sw, settings);
                sw.Close();
            }
        }