Salva dimensione modulo Windows
-
03-07-2019 - |
Domanda
Sto sviluppando un pezzo in VB.NET. All'interno del mio modulo principale, sto creando un nuovo modulo da utilizzare come finestra di dialogo. Mi chiedevo se alla chiusura della nuova finestra di dialogo ci fosse un modo per salvare le impostazioni delle dimensioni per ciascun utente (probabilmente in un file sulla propria macchina, tramite XML o qualcosa del genere?)
Soluzione
puoi salvarlo nel file delle impostazioni e aggiornarlo nell'evento 'onclosing'.
per fare un'impostazione vai a Proprietà progetto - > settings - > quindi fai un'impostazione come 'dialogsize' di tipo system.drawing.size.
quindi esegui questa operazione nel tuo modulo di dialogo:
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
fai qualcosa del genere per verificare e utilizzare l'impostazione:
Dim dlg As MyDialogWindow
If My.Settings.DialogSize.IsEmpty Then
dlg = New MyDialogWindow()
Else
dlg = New MyDialogWindow(My.Settings.DialogSize)
End If
dlg.ShowDialog()
Altri suggerimenti
Sebbene questo è per C # , aiuterà anche con VB.Net.
Puoi anche aggiungere una nuova impostazione alla tua applicazione (dimensione) e impostarla su system.drawing.size
Quindi, assicurati di salvare la dimensione corrente nelle impostazioni alla chiusura.
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
e al caricamento si applica la dimensione salvata nelle impostazioni
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
Puoi anche farlo usando l'interfaccia utente fornita dall'IDE VB.NET stesso. Nel riquadro delle proprietà di un modulo, cerca sotto l'elemento chiamato " (Impostazioni applicazione) " e quindi sotto "Rilegatura proprietà". È possibile associare praticamente tutte le proprietà del modulo (incluse dimensioni e posizione) a un valore delle impostazioni per quell'applicazione.
A quanto pare, ho trovato un modo per farlo usando System.IO.IsolatedStorage