2008-10-22 7 views
7

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

ответ

7

вы можете сохранить его в файле настроек и обновить его в событии 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() 
+0

В конструкторе для моего WinForm, я иду в свойствах и я вижу (PropertyBinding), но нет никакой собственности DialogSize что Я могу найти. Это то, что вы настраиваете вручную в коде или в дизайнере? – 2008-10-22 14:35:27

+0

DialogSize - это глобальный Var, который необходимо создать в файле настроек. Goto Project -> «проецировании имя» свойства -> Настройки> Вкладка добавить параметр под названием «DialogSize» или то, что вы, как типа System.Drawing.Size Unfortunatly размер не в бите propertybinding – Hath 2008-10-22 14:57:14

0

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

0

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

2

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