Сохранить размер формы Windows - PullRequest
7 голосов
/ 22 октября 2008

Я разрабатываю кусок в VB.NET. Внутри моей основной формы я создаю новую форму для использования в качестве диалога. Мне было интересно, есть ли способ, после закрытия нового диалога, сохранить настройки размера для каждого пользователя (возможно, в файле на его компьютере, через XML или что-то еще?)

Ответы [ 5 ]

7 голосов
/ 22 октября 2008

вы можете сохранить его в файле настроек и обновить его при событии 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()
2 голосов
/ 05 октября 2012

Вы также можете добавить новый параметр в ваше приложение (размер) и установить его на 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
2 голосов
/ 22 октября 2008

Хотя это для C # , это также поможет с VB.Net.

0 голосов
/ 22 октября 2008

Как оказалось, я нашел способ сделать это, используя System.IO.IsolatedStorage

0 голосов
/ 22 октября 2008

Вы также можете сделать это с помощью пользовательского интерфейса, предоставленного самой IDE VB.NET. На панели свойств формы просмотрите элемент «Настройки приложения», а затем «Привязка свойств». Вы можете привязать практически каждое свойство формы (включая размер и местоположение) к значению настроек для этого приложения.

...