Speichern Windows Form Größe
-
03-07-2019 - |
Frage
Ich entwickle ein Stück in VB.NET. In meiner primären Form, bin ich die Schaffung eine neue Form als Dialog zu verwenden. Ich frage mich, ob es ein Weg zu sein, auf dem Abschluss des neuen Dialogs, seine Größe Einstellungen für jeden Benutzer speichern (wahrscheinlich in einer Datei auf ihrem Rechner, über XML oder so etwas?)
Lösung
Sie können es auf die Einstellungsdatei speichern, und auf dem ‚OnClosing‘ Ereignisse aktualisieren.
eine Einstellung goto Projekteigenschaften zu machen -> Einstellungen -.> Dann eine Einstellung vornehmen wie 'dialogsize' vom Typ System.Drawing.Size
dann tun Sie dies in Ihrer Dialogform:
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
etwas tun, wie dies die Einstellung zu überprüfen und zu verwenden:
Dim dlg As MyDialogWindow
If My.Settings.DialogSize.IsEmpty Then
dlg = New MyDialogWindow()
Else
dlg = New MyDialogWindow(My.Settings.DialogSize)
End If
dlg.ShowDialog()
Andere Tipps
Obwohl dies für C # , wird es auch mit VB.Net helfen.
Sie können auch eine neue Einstellung für Ihre Anwendung (Größe) hinzu und setzen ihn auf system.drawing.size
Dann stellen Sie sicher, Sie die aktuelle Größe, um die Einstellungen auf der Nähe zu speichern.
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
und auf Last, die Sie anwenden, die Größe, die Sie in den Einstellungen gespeichert haben
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
Sie können dies auch die Benutzeroberfläche durch die VB.NET IDE selbst zur Verfügung gestellt mit tun. In den Eigenschaften für ein Formular Fenster sehen Sie unter dem Punkt „(Anwendungseinstellungen)“ und dann unter „Property Bindung.“ Sie können fast jede Eigenschaft des Formulars binden (einschließlich Größe und Lage) auf einen Wert Einstellung für die jeweilige Anwendung.
Wie sich herausstellt, fand ich einen Weg, dies zu tun, um die System.IO.IsolatedStorage
mit