private void init_mapout_setting()
{
this.txtTitle.Text = MapOutSetting.Instance.XZQTitle;
this.txtPublishDep.Text = MapOutSetting.Instance.XZQCBDW;
this.txtZBXT.Text = MapOutSetting.Instance.XZQDTZS;
}
private void save_mapout_setting()
{
MapOutSetting.Instance.XZQTitle = this.txtTitle.Text;
MapOutSetting.Instance.XZQDTZS = this.txtZBXT.Text;
MapOutSetting.Instance.Save();
}
private void XZQMapForm_FormClosing(object sender, FormClosingEventArgs e)
{
save_mapout_setting();
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Windows.Forms;
namespace XXXMap.Test.BaseBusiness
{
[Serializable]
public class MapOutSetting
{
#region 分幅图
/// <summary>
/// 分幅图图件标题
/// </summary>
public string FFTTitle = "×××年分幅图";
/// <summary>
/// 分幅图作业单位
/// </summary>
public string FFTZYDW = "×××";
/// <summary>
/// 分幅图地图注释
/// </summary>
public string FFTDTZS = "×××坐标系统";
/// <summary>
/// 绘图日期
/// </summary>
public string FFTHTRQ = DateTime.Now.ToString("yyyy年MM月dd日");
[NonSerialized]
/// <summary>
/// 任意区域出图区域
/// </summary>
public IGeometry RYQYCTGeometry = null;
private static MapOutSetting mInstance = null;
private static readonly object lockAssistant = new object();
public static MapOutSetting Instance
{
get
{
if (mInstance == null)
{
lock (lockAssistant)
{
if (mInstance == null)
{
try
{
if (File.Exists(SettingPath))
{
mInstance = Deserialize(SettingPath) as MapOutDescriptionSetting;
}
else
{
mInstance = new MapOutDescriptionSetting();
}
}
catch (Exception ex)
{
mInstance = new MapOutDescriptionSetting();
}
}
}
}
return mInstance;
}
}
private MapOutDescriptionSetting() { }
public void Save()
{
MemoryStream stream = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(stream, this);
FileStream fs = new FileStream(SettingPath, FileMode.Create);
byte[] data = stream.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
fs.Close();
stream.Close();
}
public static string SettingPath = Application.StartupPath + "\\Config\\Mapout_TDLYXZT.dat";
public static object DeserializeWithBinary(byte[] data)
{
MemoryStream stream = new MemoryStream();
stream.Write(data, 0, data.Length);
stream.Position = 0;
BinaryFormatter bf = new BinaryFormatter();
object obj = bf.Deserialize(stream);
stream.Close();
return obj;
}
private static Byte[] ReadBytes(string filename)
{
System.IO.FileStream stream = new System.IO.FileStream(filename, System.IO.FileMode.OpenOrCreate);
byte[] bytes = new byte[stream.Length];
if (stream.CanRead)
{
stream.Read(bytes, 0, (int)stream.Length);
}
stream.Close();
return bytes;
}
public static object Deserialize(string filename)
{
return DeserializeWithBinary(ReadBytes(filename));
}
}
}