1. 程式人生 > >如何方便的儲存WinForm窗體控制元件的位置大小等等配置資訊

如何方便的儲存WinForm窗體控制元件的位置大小等等配置資訊

 由於解析度、螢幕主題、字型大小的不同,窗體顯示效果在不同機器上不盡相同。窗體的彈性設計並不能滿足多樣的需求。為保證在各種情況下,能有滿意的效果。窗體的多樣顯示方式能改變,並且儲存、載入配置,顯得很重要。我試寫了個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);
        }

類的內容可以到本博空間下載,就不多講了,明白的不用講,不明白的講也是累。