如何方便的儲存WinForm窗體控制元件的位置大小等等配置資訊
阿新 • • 發佈:2019-02-07
由於解析度、螢幕主題、字型大小的不同,窗體顯示效果在不同機器上不盡相同。窗體的彈性設計並不能滿足多樣的需求。為保證在各種情況下,能有滿意的效果。窗體的多樣顯示方式能改變,並且儲存、載入配置,顯得很重要。我試寫了個C#下的類,來做這件事。宗旨是使用方便,並且儘量小巧,載入快速,和可以擴充套件。
先說使用:
本類針對最常用的需要,如窗體位置、大小。和表格的列寬。進行設計。如果需要,可自行擴充套件。
這樣簡單的載入配置資訊:
private void FrmMain_Load(object sender, EventArgs e) { SetupColumns(); oConfig.Load_Columns_Width(dgv1, "huodan_frmlisthuo_dgv1"); oConfig.SetSaveFlag("huodan_frmlisthuo_dgv1", false); oConfig.Load_Form_Size(this, "huodan_frmlisthuo_frm"); oConfig.SetSaveFlag("huodan_frmlisthuo_frm", false); }
儲存一般放在關閉窗體前:
private void FrmListHuo_FormClosing(object sender, FormClosingEventArgs e)
{
oConfig.Save_Columns_Width(dgv1, "huodan_frmlisthuo_dgv1");
oConfig.Save_Form_Size(this, "huodan_frmlisthuo_frm");
}
並不是每次關閉窗體都會儲存,在必要的地方,設定儲存請求:
private void dgv1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) { oConfig.SetSaveFlag("huodan_frmlisthuo_dgv1",true); } private void FrmListHuo_ResizeEnd(object sender, EventArgs e) { oConfig.SetSaveFlag("huodan_frmlisthuo_frm", true); }
類的內容可以到本博空間下載,就不多講了,明白的不用講,不明白的講也是累。