Guardar tamaño de formulario de Windows
-
03-07-2019 - |
Pregunta
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 manera de, al cierre del nuevo cuadro de diálogo, guardar la configuración de tamaño para cada usuario (probablemente en un archivo en su máquina, a través de XML o algo así).
Solución
puede guardarlo en el archivo de configuración y actualizarlo en el evento 'onclosing'.
para hacer una configuración, vaya a Propiedades del proyecto - > configuraciones - > luego realice una configuración como 'dialogsize' del tipo system.drawing.size.
entonces 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()
Otros consejos
Aunque esto es para C # , también ayudará con VB.Net.
También puede agregar una nueva configuración a su aplicación (tamaño) y establecerla en system.drawing.size
Luego, te aseguras 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 al cargar, 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
También puede hacer esto utilizando la IU 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 enlazar casi todas las propiedades del formulario (incluidos el tamaño y la ubicación) a un valor de configuración para esa aplicación.
Resulta que, encontré una manera de hacer esto usando el System.IO.IsolatedStorage