Devpress个性化配置
1、获取配置文件
private System.IO.FileInfo GetConfigFile(TsModule module, string Name, string Version)
{
System.IO.FileInfo ConfigFile = new System.IO.FileInfo(Application.StartupPath + "\\Layout\\" + UserInfo.UserID + "\\[" + module.Moduleid + "." + module.Modulename + "]" + Name + (Version == "" ? "" : "V") + Version + ".XML");
if (!Directory.Exists(ConfigFile.DirectoryName)) Directory.CreateDirectory(ConfigFile.DirectoryName);
return ConfigFile;
}
2、读取配置文件
Form fm = uct as Form;
private void ReadApplicatinUserPreferences(Form frm)
{
TsModule module = TsModule.GetById(frm.Name);
if (frm is IGridManager)
{
IGridManager grids = (IGridManager)frm;
for (int i = 0; i < grids.IGridViews.Length; i++)
{
GridView g = grids.IGridViews[i];
//g.OptionsBehavior.EditorShowMode = EditorShowMode.Default;
if (g.IndicatorWidth < 35) g.IndicatorWidth = 35;
g.CustomDrawRowIndicator += new RowIndicatorCustomDrawEventHandler(GridView_CustomDrawRowIndicator);
System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, grids.VersionNo);
if (GridFile.Exists) g.RestoreLayoutFromXml(GridFile.FullName);
}
}
if (frm is IPivotManager)
{
IPivotManager pivots = (IPivotManager)frm;
for (int i = 0; i < pivots.IPivotGrids.Length; i++)
{
PivotGridControl g = pivots.IPivotGrids[i];
System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, pivots.VersionNo);
if (GridFile.Exists) g.RestoreLayoutFromXml(GridFile.FullName);
}
}
if (frm is ILayoutManager)
{
ILayoutManager layout = (ILayoutManager)frm;
System.IO.FileInfo LayoutFile = GetConfigFile(module, layout.LayoutControl.Name, layout.VersionNo);
if (LayoutFile.Exists) layout.LayoutControl.RestoreLayoutFromXml(LayoutFile.FullName);
}
if (frm is IFrame)
{
((IFrame)frm).SendMessage += new SendTipMessage(OnMessage);
((IFrame)frm).RaiseBusy += new WaitDialog(FrmMain_RaiseBusy);
((IFrame)frm).Init();
}
}
3、保存配置文件
Form fm = uct as Form;
fm.FormClosed += new FormClosedEventHandler(mdiFrm_FormClosed);
private void mdiFrm_FormClosed(object sender, EventArgs e)
{
Form nowForm = this.ActiveMdiChild;
if (nowForm == null) return;
WriteApplicatinUserPreferences(nowForm);
}
private void WriteApplicatinUserPreferences(Form frm)
{
TsModule module = TsModule.GetById(frm.Name);
if (frm is IGridManager)
{
IGridManager grids = (IGridManager)frm;
foreach (GridView g in grids.IGridViews)
{
System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, grids.VersionNo);
g.SaveLayoutToXml(GridFile.FullName);
}
}
if (frm is IPivotManager)
{
IPivotManager pivots = (IPivotManager)frm;
foreach (PivotGridControl g in pivots.IPivotGrids)
{
System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, pivots.VersionNo);
g.SaveLayoutToXml(GridFile.FullName);
}
}
if (frm is ILayoutManager)
{
ILayoutManager layout = (ILayoutManager)frm;
System.IO.FileInfo LayoutFile = GetConfigFile(module, layout.LayoutControl.Name, layout.VersionNo);
layout.LayoutControl.SaveLayoutToXml(LayoutFile.FullName);
}
}