Я разрабатываю часть в VB.NET. В моей основной форме я создаю новую форму для использования в качестве диалога. Мне было интересно, если бы после закрытия нового диалога сохранить настройки размера для каждого пользователя (возможно, в файле на своей машине, через XML или что-то в этом роде)Сохранить размер формы Windows
ответ
вы можете сохранить его в файле настроек и обновить его в событии onclosing.
Чтобы сделать настройку goto Project Properties -> settings ->, тогда сделайте настройку типа «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()
Хотя this is for C#, это поможет с VB.Net.
Вы также можете сделать это, используя пользовательский интерфейс, предоставленный самой VB.NET IDE. В области свойств для формы просмотрите элемент под названием «(Настройки приложения)», а затем в разделе «Связывание свойств». Вы можете привязать почти каждое свойство формы (включая размер и местоположение) к значению параметров для этого приложения.
Как оказалось, я нашел способ сделать это с помощью System.IO.IsolatedStorage
Вы можете также добавить новые настройки приложения (размер) и установить его на 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
В конструкторе для моего WinForm, я иду в свойствах и я вижу (PropertyBinding), но нет никакой собственности DialogSize что Я могу найти. Это то, что вы настраиваете вручную в коде или в дизайнере? – 2008-10-22 14:35:27
DialogSize - это глобальный Var, который необходимо создать в файле настроек. Goto Project -> «проецировании имя» свойства -> Настройки> Вкладка добавить параметр под названием «DialogSize» или то, что вы, как типа System.Drawing.Size Unfortunatly размер не в бите propertybinding – Hath 2008-10-22 14:57:14