windows vb.net winforms preferences savestate

Ahorre el tamaño de formulario de Windows



vb.net winforms (5)

Estoy desarrollando una pieza en VB.NET. Dentro de mi formulario principal, estoy creando un nuevo formulario para usar como diálogo. Me preguntaba si había una forma de, al cerrar el nuevo diálogo, guardar su configuración de tamaño para cada usuario (probablemente en un archivo en su máquina, a través de XML o algo así).


Resultó que encontré una forma de hacer esto usando System.IO.IsolatedStorage


También puede hacer esto usando la interfaz de usuario proporcionada por el IDE de VB.NET. En el panel de propiedades de un formulario, busque en el elemento denominado "(Configuración de la aplicación)" y luego en "Enlace de propiedad". Puede vincular casi todas las propiedades del formulario (incluido el tamaño y la ubicación) a un valor de configuración para esa aplicación.


puede guardarlo en el archivo de configuración y actualizarlo en el evento ''onclosing''.

para realizar una configuración vaya a Propiedades del proyecto -> configuración -> luego realice una configuración como ''tamaño de cuadro de diálogo'' de tipo system.drawing.size.

luego haz esto en tu forma de diálogo:

Public Sub New() InitializeComponent() End Sub Public Sub New(ByVal userSize As Size) InitializeComponent() Me.Size = userSize End Sub Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs) MyBase.OnClosing(e) My.Settings.DialogSize = Me.Size My.Settings.Save() End Sub

haga algo como esto para verificar y usar la configuración:

Dim dlg As MyDialogWindow If My.Settings.DialogSize.IsEmpty Then dlg = New MyDialogWindow() Else dlg = New MyDialogWindow(My.Settings.DialogSize) End If dlg.ShowDialog()


También puede agregar una nueva configuración a su aplicación (tamaño) y configurarlo en system.drawing.size

Luego, asegúrese de guardar el tamaño actual en la configuración al cerrar.

Private Sub myForm_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles MyBase.FormClosing My.Settings.size = Me.Size My.Settings.Save() End Sub

y con la carga, aplica el tamaño que ha guardado en la configuración

Private Sub myForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load '' if this is the first time to load the form '' dont set the size ( the form will load with the size in the designe) If Not My.Settings.size.IsEmpty Then Me.Size = My.Settings.size End If End Sub