optionsinfo.cs

来自「一个通用的数据库访问层」· CS 代码 · 共 110 行

CS
110
字号
using System;
using System.Collections;
using System.Windows.Forms;
using System.IO;

namespace YariSoft.DBCommander.Misc
{
	[Serializable]
	public class OptionsInfo
	{ 
		#region Local variables
		private const int selectionCount		= 10;

		private bool	_showFuncBar			= true;
		private bool	_showToolBar			= true;
		private string	_previousConfigFileName	= "";
		private ArrayList	
						_selections				= null;
		private TableOptionsInfo
						_tableOptions			= null;
		private YariSoft.Utils.AgentInfo
						_agentOptions			= null;

		[NonSerialized()]private string _fileName = "";
		#endregion

		#region Properties
		public bool ShowFuncBar
		{
			get{ return _showFuncBar; }
			set{ this._showFuncBar = value; }
		}

		public bool ShowToolBar
		{
			get{ return this._showToolBar; }
			set{ this._showToolBar = value; }
		}

		public TableOptionsInfo TableOptions
		{
			get{ return this._tableOptions; }
			set{ this._tableOptions = value; }
		}

		public YariSoft.Utils.AgentInfo AgentOptions
		{
			get{ return this._agentOptions; }
			set{ this._agentOptions = value; }
		}

		public string PreviousConfigFileName
		{
			get{ return this._previousConfigFileName; }
			set{ this._previousConfigFileName = value; }
		}

		public string FileName
		{
			get{ return this._fileName; }
			set{ this._fileName = value; }
		}

		public ArrayList Selections
		{
			get{ return this._selections; }
		}
		#endregion

		#region Constructor/Destructor
		public OptionsInfo( string FileName )
		{
			this._fileName		= FileName;
			this._selections	= new ArrayList();
			this.TableOptions	= new TableOptionsInfo();
			this.AgentOptions	= new YariSoft.Utils.AgentInfo();
		}
		#endregion

		#region Public functions
		public bool SaveToFile()
		{
			while( this._selections.Count > selectionCount ){
				this._selections.RemoveAt( this._selections.Count - 1);
			}

			return YariSoft.Utils.ConfigFile.SaveToFile( ref this._fileName, this, false );
		}

		public static OptionsInfo LoadFromFile( string FileName )
		{
			OptionsInfo result = ( OptionsInfo )YariSoft.Utils.ConfigFile.LoadFromFile( ref FileName, false );
			if( result == null ){
				result = new OptionsInfo( FileName );
			} else {
				result.FileName = FileName;
			}
			if( result.AgentOptions.ConfigFileName == "" ){
				string optFileName = Application.StartupPath + "\\DBCommander.amv";
				FileInfo fileInfo = new FileInfo( optFileName );
				if( fileInfo.Exists ){
					result.AgentOptions.ConfigFileName = optFileName;
				}
			}
			return result;
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?