Сохранение размера формы Windows
-
03-07-2019 - |
Вопрос
Я разрабатываю статью в VB.NET.Внутри моей основной формы я создаю новую форму для использования в качестве диалогового окна.Мне было интересно, есть ли способ после закрытия нового диалогового окна сохранить настройки его размера для каждого пользователя (возможно, в файле на их компьютере, через XML или что-то в этом роде?)
Решение
вы можете сохранить его в файле настроек и обновить при событии "onclosing".
чтобы задать настройку, перейдите в Свойства проекта -> настройки -> затем задайте параметр типа 'dialogsize' типа system.drawing.size.
затем сделайте это в своей диалоговой форме:
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
сделайте что-то вроде этого, чтобы проверить и использовать настройку:
Dim dlg As MyDialogWindow
If My.Settings.DialogSize.IsEmpty Then
dlg = New MyDialogWindow()
Else
dlg = New MyDialogWindow(My.Settings.DialogSize)
End If
dlg.ShowDialog()
Другие советы
Хотя это для C # , это поможет и с VB.Net.
Вы также можете добавить новый параметр в ваше приложение (размер) и установить для него значение system.drawing.size
Затем убедитесь, что вы сохранили текущий размер в настройках при закрытии.
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
и при загрузке вы применяете размер, который вы сохранили в настройках
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
Это также можно сделать с помощью пользовательского интерфейса, предоставленного самой IDE VB.NET. На панели свойств формы просмотрите элемент под названием «(Настройки приложения)». и затем в разделе «Привязка свойств». Вы можете привязать практически каждое свойство формы (включая размер и местоположение) к значению настроек для этого приложения. Р>
Как оказалось, я нашел способ сделать это с помощью System.IO.IsolatedStorage