WPF - Guardar / leer datos en Settings

Descripción general

Pequeño apunte que muestra el codigo para grabar / leer informacion en el fichero Settings

Código para copiar y pegar en la ventana xmal. +

#Region " Guardar / leer datos en Settings [Versión - 2015-12-30]"

   #Region "Eventos Load / Closing"

    Private Sub MainWindow_Initialized(sender As Object, e As System.EventArgs) Handles Me.Initialized
        ''*************************************
        '' Apunte tactico de este evento
        ''-------------------------------------
        '' FrameworkElement.Loaded (Evento)
        ''http://msdn.microsoft.com/es-es/library/vstudio/system.windows.frameworkelement.loaded(v=vs.90).aspx

        ''Eventos de duración de objetos
        ''http://msdn.microsoft.com/es-es/library/vstudio/ms754221(v=vs.90).aspx
        ''*************************************

        '---------------------------------------------------------
        ' Texto de la barra de titulo y estado
        'Me.Text = Util.Formularios.TextosFormularios.TextoParaBarraTitulo
        'Me.ToolStripStatusLabel1.Text = Util.Formularios.TextosFormularios.TextoParaBarraEstado

        '---------------------------------------------------------
        ' Otras inicializaciones


        '---------------------------------------------------------
        ' Leer datos en Settings
        Call CargaDatosDeSettings()
    End Sub

    Private Sub MainWindow_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles Me.Closing
        '---------------------------------------------------------
        ' grabar datos en Settings
        Call GuardaDatosEnSettings()

        '---------------------------------------------------------
        ' destrur los objetos internos empleados en este form
        '-----------------------------------------------------
        '
    End Sub

#End Region

#Region "Funciones para Guardar / leer datos en Settings"


    '---------------------------------
    ' Valores y variables qye hay que declarar en Settings
    '---------------------------------
    '     Nombre          Tipo       Ambito     Valor
    '---------------------------------
    ' MainWindow_Left     Double     Usuario     0
    ' MainWindow_Top      Double     Usuario     0
    ' MainWindow_Width    Double     Usuario     0
    ' MainWindow_Height   Double     Usuario     0
    '------------------
    ' MainWindow_TopMost  Boolean    Usuario     False
    ' MainWindow_BackColor = System.Drawing.SystemColors.Control
    '---------------------------------------

    '----------------------------------------------
    Private Sub CargaDatosDeSettings()
        '---------------------------------
        ' Valores y variables que hay que declarar en Settings
        '---------------------------------
        '     Nombre          Tipo       Ambito     Valor
        '---------------------------------
        ' MainWindow_Left     Double     Usuario     0
        ' MainWindow_Top      Double     Usuario     0
        ' MainWindow_Width    Double     Usuario     0
        ' MainWindow_Height   Double     Usuario     0
        '------------------
        ' MainWindow_TopMost  Boolean    Usuario     False
        ' MainWindow_BackColor = System.Drawing.SystemColors.Control
        '---------------------------------------
        Try
            '--------------------------------------
            ' Posicion del Form
            If Convert.ToInt32(My.Settings.MainWindow_Left) > 0D Then
                Me.Left = My.Settings.MainWindow_Left
                Me.Top = My.Settings.MainWindow_Top
                Me.Width = My.Settings.MainWindow_Width
                Me.Height = My.Settings.MainWindow_Height
            End If

            ' -------------------------------------------
            ' Estado TopMost
            Me.Topmost = My.Settings.MainWindow_TopMost
            'Me.MenuVentanaSiempreVisible.IsChecked = My.Settings.MainWindow_TopMost

            '' -------------------------------------------
            '' recuperar el color del fondo del form
            'Me.BackColor = My.Settings.FormMain_BackColor

            ' -------------------------------------------
            ' Otras variables del form

        Catch ex As System.Configuration.ConfigurationException
            ' se produce porque no se encuentra el archivo de configuración
            ' no hacer nada
            My.Log.WriteException(ex, TraceEventType.Warning,
            "Ocurrió durante el proceso de Lectura de datos de 'Settings'  " &
            Environment.NewLine &
            ex.Message)
        Catch ex As Exception
            My.Log.WriteException(ex, TraceEventType.Warning,
            "Ocurrió durante el proceso de Lectura de datos de 'Settings' " &
            Environment.NewLine &
            ex.Message)
            Throw
        End Try
        ' / FIN  Leer los datos de la configuración
        ' ---------------------------------------------------

    End Sub


    '----------------------------------------------------------
    Private Sub GuardaDatosEnSettings()
        ' ---------------------------------------------------
        Try

            '---------------------------------------
            ' Posicion del Form
            '---------------------------------------
            ' Guardar datos en Settings en la configuración
            ' Si el formulario no está en modo normal
            ' guardar los datos de la posición que tenía
            ' antes de minimizar o maximizar
            '---------------------------------------
            If WindowState <> WindowState.Normal Then
                My.Settings.MainWindow_Left = Me.RestoreBounds.Left
                My.Settings.MainWindow_Top = Me.RestoreBounds.Top
            Else
                My.Settings.MainWindow_Left = Me.Left
                My.Settings.MainWindow_Top = Me.Top
                My.Settings.MainWindow_Width = Me.Width
                My.Settings.MainWindow_Height = Me.Height
            End If

            ' -------------------------------------------
            ' Estado TopMost
            My.Settings.MainWindow_TopMost = Me.Topmost

            '' -------------------------------------------
            '' Guardar el color del fondo del form
            'My.Settings.FormMain_BackColor = Me.BackColor
            '
            ' -------------------------------------------
            ' Otras variables del form



            '---------------------------------
            ' En VB no es necesario, pero por si alguien cambia
            ' la forma predeterminada de que se auto guarden los datos
            My.Settings.Save()
        Catch ex As System.Configuration.ConfigurationException
            ' se produce porque no se encuentra el archivo de configuración
            ' no hacer nada ( se tomaran los valores por defecto de los controles
            My.Log.WriteException(ex, TraceEventType.Warning,
            "Ocurrió durante el proceso de guardado de datos en 'Settings' " &
            Environment.NewLine &
            ex.Message)

        Catch ex As Exception
            My.Log.WriteException(ex, TraceEventType.Warning,
            "Ocurrió durante el proceso de guardado de datos en 'Settings' " &
            Environment.NewLine &
            ex.Message)
            Throw
        End Try
        ' / FIN  guardar los datos en la configuración
        ' ---------------------------------------------------

    End Sub

#End Region

#End Region

↑↑↑

A.2.Enlaces

[Para saber mas]
[Grupo de documentos]
[Grupo de documentos Index]
[Documento Index]
[Documento Start]
[Imprimir el Documento]
© 1997 - - La Güeb de Joaquín
Joaquín Medina Serrano
Ésta página es española

Codificación
Fecha de creación
Última actualización
[HTML5 Desarrollado usando CSS3]