很多軟件都有保存用戶設置的功能,以便用戶下一次啟動時其程序界面及相關設置都是自己最中意和習慣的,這使得軟件具有人性化,用戶用起來感到親切。用VB編寫的軟件可以通過多種途徑實現此功能,這裡介紹用數據庫方法來保存用戶的個性化設置。
假設我們已經完成了一個用TextBox做編輯欄的字處理程序,該程序提供了讓用戶對編輯欄背景色和字體的設置菜單,現在我們想讓用戶所作的設置能保存下來。怎麼辦呢?
第一步:給窗體添加一個Data控件。
第二步:用Access建立一個名為Pad的數據庫,在庫中建立一個表Myset,給表添加四個字段:backcolor(數據),forecolor(文本),fontname(文本),fontsize(文本)。注意:請將庫文件存入程序所在目錄。
如果你的機器沒安裝有Access,可通過VB建庫。
第三步:編寫如下代碼:
在Form_Load事件添加:
'定位庫文件路徑
Data1.DatabaseName=App.Path "
tSet.mdb"
Data1.RecordSource="MySet"
'設置背景色
PrivateSubmnuBackColorSetting_Click()
CommonDialog1.Flags=cdlCCFullOpen
CommonDialog1.ShowColor
OnErrorGoToerr
Data1.Recordset.Edit
err:
Iferr.Number=3021Then
Data1.Recordset.AddNew
EndIf
Data1.Recordset.Fields("backcolor")=CommonDialog1.Color
Data1.Recordset.Update
Text1.BackColor=CommonDialog1.Color
EndSub
'設置字體
PrivateSubmnuFontSetting_Click()
CommonDialog1.Flags=cdlCFEffectsOrcdlCFBoth
CommonDialog1.ShowFont
OnErrorGoToFontErr
Data1.Recordset.Edit
FontErr:
Iferr.Number=3021Then
Data1.Recordset.AddNew
EndIf
Data1.Recordset.Fields("fontsize")=CommonDialog1.FontSize
Data1.Recordset.Fields("forecolor")=CommonDialog1.Color
Data1.Recordset.Fields("fontname")=CommonDialog1.FontName
Data1.Recordset.Update
Text1.ForeColor=CommonDialog1.Color
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
'窗體的Activate事件
PrivateSubForm_Activate()
OnErrorResumeNext
Text1.BackColor=Data1.Recordset.Fields("backcolor")
Text1.Font.Size=Data1.Recordset.Fields("fontsize")
Text1.ForeColor=Data1.Recordset.Fields("forecolor")
Text1.Font.Name=Data1.Recordset.Fields("fontname")
EndSub
至此,我們的程序就能把用戶的個性化設置保存下來了。應當注意,只有編譯成可執行文件後才有效,在VB狀態中運行會提示找不到庫文件的。->