2017-08-31 34 views
-1

Windows 10 64位,VB.NET 2017my.settings.myVariable有時不會粘住ie。 intermittant

我有一個文本框,我想堅持它的價值。我輸入20,通常在下次開始編程時仍然存在。但有時它是空白的。 代碼沒有任何更改。我在調試另一部分代碼。有時我單步執行並編輯代碼。有時我會換檔-F5來結束程序。通常這20個持續。

在項目>道具>設置它是一個用戶變量,字符串,命名爲:TextBox_OD_log10_gain(名稱相同,它設置文本框)

這裏是TEXTBOX被加載在啓動時..... ........

Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    application.DoEvents 
    TextBox_OD_log10_gain.text = my.settings.TextBox_OD_log10_gain 
End Sub 

這裏是TEXTBOX只能設置PLACE ...............

Private Sub MainForm_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed 
       my.settings.TextBox_OD_log10_gain = TextBox_OD_log10_gain.text 
     My.Settings.Save() 
End Sub 

亞歷山德羅曼德里'是的低表明該問題是.NET Framework的一個故障。這是真的??我應該放棄my.settings。並使用不同的方法?

+0

這是版本變化時的問題嗎?看過運行之間的設置xml嗎? – Patrick

+0

https://stackoverflow.com/questions/1198193/automatically-upgrade-user-settings-from-previous-version-of-app-config-file – Patrick

+0

xml存儲在哪裏?什麼路徑? –

回答

-1

我放棄了my.Settings。太不可靠。沒有像樣的例子或文檔。我的一些設置保持不變,其他設置則不會。

我的答案是回到「GetSetting」,我從來沒有遇到過問題。另外,GetSetting花費大約一半的時間進行編碼。

0

這有可能是當你按下 + F5終止調試過程中,你會立即在那裏它當前正在執行的結束程序,它永遠不會解僱或處理FormClosed事件,機會這轉意味着你的設置永遠不會被保存。當您完成調試時,您應該可以關閉表單本身,以便有機會執行您指定的任何額外保存或清理,而不是從代碼之外突然結束。

+0

這不會導致它空白,最後保存的設置仍然存在,如果它是20,並且他不改變它,它應該保持20。但是,這將很容易檢查,斷點或一些東西。 – Patrick

+0

和你一樣的環境,同樣的問題。間歇性加載或保存設置失敗。它似乎是某種錯誤,無論是在.net框架還是與w10/64的交互。我懷疑引用程序集文件夾 –

+0

CKH中的一個文件中存在xml損壞:我證實這不是問題。 –