Вопрос

Я разрабатываю статью в 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top