2017-08-31 9 views
-1

Windows 10 64ビット、VB.NET 2017my.settings.myVariableはときどきスティックしません。間接的

私はテキストボックスを持っており、その値を保持したい。私は20歳で、通常は次回はプログラムを始めます。しかし時にはそれは空白です。 のコードで変更されていません。私はコードの別の部分をデバッグしています。時々私はコードを一歩一歩編集します。時にはシフト-F5をしてプログラムを終了させることもあります。通常20人は存続する。プロジェクト>小道具>設定で

それが名前のユーザー変数、文字列、次のとおりです。TEXTBOXは、ブート時にロードされているのはここTextBox_OD_log10_gain(それは設定テキストボックスと同じ名前)

はIS ..... ........ HERE

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が設定されている唯一の場所です...............

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 

"アレッサンドロMandelli 'である低は、問題が.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

それはあなたがあなたのデバッグセッションを終了するためにShiftキー + F5を押したとき、あなたはすぐにそれが現在実行中のWHEREでプログラムを終了していると、それはFormClosedイベントを発生または処理する機会を得ることはありません、ここでいる可能性がありますあなたの設定が保存されることはありません。デバッグが終了したらフォーム自体を閉じて、コードの外側から突然終了するのではなく、指定した追加の保存またはクリーンアップを実行する可能性があります。

+0

それはそれが空白になることはないでしょう、最後に保存された設定はそこに残るでしょう、それが20であれば、彼はそれを変更しません、それは20に留まるべきです。しかし、それはブレークポイントまたは何か。 – Patrick

+0

あなたと同じ環境、同じ問題。設定をロードまたは保存する断続的な失敗。これは、.netフレームワークまたはw10/64との相互作用のいずれかのバグであるようです。私は参照アセンブリフォルダ内のファイルのいずれかでXMLの破損を疑う –

+0

CKH:問題ではないことを確認しました。 –

関連する問題