Avatar billede djfonzi Nybegynder
07. februar 2011 - 23:03 Der er 9 kommentarer og
1 løsning

Huske på Checkbox state imellem program kørsler

Hey Eksperter

Har et nyt spørgsmål

Jeg prøver på at lave en checkbox hvis' state skal huskes på selv efter programmet lukkes .. Så når programmet åbner igen, så skal checkboksen være som da det blev lukket, altså enten true eller false selvfølgelig.

Jeg ved at dette kan lade sig gøre med igennem en konf. fil, igennem reg databasen osv.. men jeg ved at det også kan gøres igennem Application settings. Jeg synes bare ikke jeg kan få det til at fungere..

Her er lidt kode:

    Private Sub Form_Load()
        CheckBox1.CheckState = My.Settings.checkbox
    End Sub

    Private Sub Form_unLoad()
        If CheckBox1.CheckState = True Then
            My.Settings.checkbox = True
            My.Settings.Save()
        End If
    End Sub

Jeg har så inde i Application Settings lavet en setting som er
Name: checkbox Type: Boolean Scope: User Value: False

Men det virker ikke..

Nogen som har nogle idéer ?
Avatar billede arne_v Ekspert
08. februar 2011 - 02:23 #1
Public Shared Function GetSetting(name As String) As Boolean
            Return Boolean.Parse(ConfigurationManager.AppSettings(name))
        End Function
        Public Shared Sub SetSetting(name As String, val As Boolean)
            Dim cfg As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
            cfg.AppSettings.Settings(name).Value = val.ToString()
            cfg.Save(ConfigurationSaveMode.Modified)
            ConfigurationManager.RefreshSection("appSettings")
        End Sub



<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="chkbox" value="false" />
    </appSettings>
</configuration>
Avatar billede djfonzi Nybegynder
08. februar 2011 - 08:07 #2
arne_v

Det ligner ud fra det du skriver der, at der skal laves en konfigurations fil til programmet. Det er netop det jeg gerne vil undgå :) Men det er måske ikke tilfældet?
Avatar billede arne_v Ekspert
08. februar 2011 - 15:36 #3
Det er applications settings filen.

var det ikke den du ville gemme i?
Avatar billede djfonzi Nybegynder
08. februar 2011 - 16:57 #4
Nu kommer jeg i tvivl... I VB.NET 2010, hvis du åbner dit projekt også højreklikker på projektfilen i højre side ovenover dine forms osv.. og trykker properties og derefter går under fanen settings.. Gemmes disse til en fil ? For der har jeg nemlig allerede nogle settings..
Avatar billede arne_v Ekspert
08. februar 2011 - 17:18 #5
Jeg formoder at de gemmes i app settings i app config filen.
Avatar billede djfonzi Nybegynder
08. februar 2011 - 18:02 #6
Okay, jamen så prøver jeg lige dit forslag :)
Avatar billede djfonzi Nybegynder
09. februar 2011 - 10:40 #7
Hmm umiddelbart har jeg ikke noget som hedder Configurationmanager
Avatar billede arne_v Ekspert
09. februar 2011 - 14:34 #8
Tilfoej en ref til System.Configuration.dll
Avatar billede arne_v Ekspert
27. marts 2011 - 04:37 #9
OK?
Avatar billede djfonzi Nybegynder
27. marts 2011 - 11:21 #10
arne_v

Jeg fandt en anden løsning, som jeg selv synes er bedre, nemlig ved at bruge den indbyggede Application settings, visual basic .net.. Så slipper man for en konfigurations fil :)

Men du brugte tid på at hjælpe så selvfølgelig skal du have point ! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester