VB2005問題, 請問怎樣儲存因程式執行後各控制項的變更及其他問題...

2007-08-31 2:03 am
http://server7.pictiger.com/img/566157/computers-and-electronic-gadgets/clipboard-01--.jpg
上面連結係一個簡易發電郵程式的截圖, 我發覺每當我關閉程式後, 各控制項的屬性或更變都會打回原形. 如新增/刪除ComboBox內的item後, 下次再執行時就會變回原先一樣, 不會記下我所做過的動作...那要怎樣做才能保留使用者於表單上做的各種更變呢?

另外如果想為這簡易發送程式再加上附件功能, 做法又會時怎樣的呢?
更新1:

hi garlic2010 多謝你的回答, 但想問如何透過加插登錄檔來達成儲存程式各控制項的屬性?例如, 如果我要記下ComboBox內各items的屬性, 應透過什麼事件來寫入registry呢? 程式碼又怎寫好呢? 另外我是透過System.Net.Mail這個名稱空間及類別來設定MailMessage的, 是否因版本問題(我用vb 2005 express)還是大家的夕稱空問及類別不同所致, 我依你的方法會出現列如情況的錯誤.

回答 (1)

2007-08-31 10:34 am
✔ 最佳答案
Save the user setting in the registry or an external source, e.g., database. The registry is your best bet. When the form opens, read the registry and load the value onto the form.

Look up .NET framework documentaion on Microsoft.Win32
RegistryKey Class, SetValue and GetValue method.

Simple example:
' Set Value
Dim rk As RegistryKey = Registry.LocalMachine.CreateSubKey("YourSection\\YourSubsection")
rk.SetValue("StringValue", "Your String Value Here")

' Retrieve Value
Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey("YourSection\\YourSubsection")
x = rk.GetValue("StringValue").ToString()

2007-08-31 02:42:48 補充:
Dim newMail As MailMessage = New MailMessage();newMail.From = anewMail.To = bnewMail.Subject = cnewMail.Body = dnewMail.Attachments.Add(New MailAttachment("c:\filt1.txt", MailEncoding.UUEncode))SmtpMail.Send(newMail)

2007-09-01 07:25:52 補充:
程式我 沒有測試過,最好是參考.net的documentation. VB2005 Express跟 Visual Studio 2005在.net framework編譯上應該是沒有分別的.

2007-09-01 07:30:44 補充:
屬性會被使用者更改,應在FormClosing 事件來寫入registry.


收錄日期: 2021-04-26 13:17:20
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070830000051KK04238

檢視 Wayback Machine 備份