Einstellungen (My.Settings.Save): Änderung = Beende Programm / keine Änderung = nichts machen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von JackCimberly.

    Einstellungen (My.Settings.Save): Änderung = Beende Programm / keine Änderung = nichts machen

    Hi VB-Gemeinde.

    In diesem Thread wollte ich mich von

    VB.NET-Quellcode

    1. My.Settings.Save()

    verabschieden, aber xtts02 hat mir folgenden Tipp gegeben:

    VB.NET-Quellcode

    1. My.Settings.Upgrade()


    Spoiler anzeigen

    VB.NET-Quellcode

    1. 'Einstellungen von der Vorgängerversion übernehmen
    2. If Not My.Settings.upgraded Then
    3. If MsgBox("Möchtest Du Parameter und Einstellungen aus der Vorgängerversion importieren?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question, "Frage...") = MsgBoxResult.Yes Then
    4. My.Settings.Upgrade()
    5. My.Settings.upgraded = True
    6. My.Settings.Save()
    7. MessageBox.Show("Änderungen werden nach einem Neustart des Programms wirksam. Programm muss manuell gestartet werden.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
    8. Environment.Exit(0)
    9. End If
    10. End If


    Das teste ich momentan noch, ob der o.g. Code richtig ist.

    Nun habe ich ein kleinen Fehler oder ich weiß nicht genau, wie ich das umsetzen soll.

    Anwender können über Einstellungen Einstellungen vornehmen, diese wären:
    Spoiler anzeigen

    HTML-Quellcode

    1. savepath
    2. Typ: String
    3. Bereich: Benutzer
    4. Wert:
    5. note
    6. Typ: Boolean
    7. Bereich: Benutzer
    8. Wert: False
    9. checkfor_updates_start
    10. Typ: Boolean
    11. Bereich: Benutzer
    12. Wert: False
    13. upgraded
    14. Typ: Boolean
    15. Bereich: Benutzer
    16. Wert: False


    Als Standard festgelegt.

    Wenn aber der Anwender keine Änderungen vorgenommen hat, soll beim Schließen der Einstellungen das Programm nicht beendet werden.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. #Region "FormClosing"
    2. Private Sub Settings_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    3. If Settings_backuplocation.lbl_savepath_new.Text = "" And Settings_notice.CheckBox1.Checked = False And Settings_updates.CheckBox2.Checked = False Then
    4. 'NICHTS MACHEN
    5. 'My.Settings.savepath = Settings_backuplocation.lbl_savepath_out.Text
    6. 'My.Settings.note = Settings_notice.CheckBox1.Checked
    7. 'My.Settings.checkfor_updates_start = Settings_updates.CheckBox2.Checked
    8. 'My.Settings.Save()
    9. Else
    10. My.Settings.savepath = Settings_backuplocation.lbl_savepath_new.Text
    11. My.Settings.note = Settings_notice.CheckBox1.Checked
    12. My.Settings.checkfor_updates_start = Settings_updates.CheckBox2.Checked
    13. My.Settings.Save()
    14. Environment.Exit(0)
    15. End If
    16. End Sub
    17. #End Region


    Irgendwas ist da vollkommen falsch.
    Nur ich weiss nicht, wie das machen soll.
    Denkansatz? ;)
    Grüße JackCimberly

    Deine Anfrage erledigt?
    Als erledigt markieren
    Somit Deine Frage beantwortet? ;)

    Aber meine nicht ^^

    #Edit nach Edit
    Ähm, wie man das speichert, dass weiß ich doch. Lesen!
    Grüße JackCimberly

    Deine Anfrage erledigt?
    Als erledigt markieren

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JackCimberly“ ()

    Hm .... ne, war eigentlich so gedacht, aber Danke.

    In Kurzform (siehe oben der Code)

    Änderungen vorgenommen = Programm beenden, damit Änderungen wirksam werden
    Keine Änderungen vorgenommen werden = Programm nicht beenden, also nur die Einstellungen-Form mit Me.Close()
    Grüße JackCimberly

    Deine Anfrage erledigt?
    Als erledigt markieren