Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

Salvando e Carregando Configurações de Formulários

Você pode fazer um bom uso das funções do VB de acesso ao registro criando algumas rotinas reutilizáveis que salvam e carregam posição e estado de formulários nos seus programas.

' Salvando configurações de formulário

Function SaveFormSettings(ByVal NomeAplicacao As String, frm As Object)
    SaveSetting NomeAplicacao, frm.Name, "Left", frm.Left
    SaveSetting NomeAplicacao, frm.Name, "Top", frm.Top
    SaveSetting NomeAplicacao, frm.Name, "Width", frm.Width
    SaveSetting NomeAplicacao, frm.Name, "Height", frm.Height
    SaveSetting NomeAplicacao, frm.Name, "WindowState", frm.WindowState
End Function

' Restaurando configurações de formulário
Function LoadFormSettings(ByVal NomeAplicacao As String, frm As Object)
    Dim currWindowState As Integer

    ' no caso de nenhum valor estar no registro
    On Error Resume Next

    ' Se o form estiver atualmente maximizado ou minimizado, temporariamente
    ' reverte ao estado normal, caso contrário o comando Move falha.
    currWindowState = frm.WindowState
    If currWindowState <> 0 Then frm.WindowState = 0
    
    ' Usa um único Move para evitar múltiplos eventos Resize e Paint.
    frm.Move GetSetting(NomeAplicacao, frm.Name, "Left", frm.Left), _
        GetSetting(NomeAplicacao, frm.Name, "Top", frm.Top), GetSetting(NomeAplicacao, _
        frm.Name, "Width", frm.Width), GetSetting(NomeAplicacao, frm.Name, "Height", _
        frm.Height)
    frm.WindowState = GetSetting(NomeAplicacao, frm.Name, "WindowState", _
        currWindowState)
End Function

O uso destas rotinas é simples e direto:
Private Sub Form_Load()
    LoadFormSettings App.Title, Me
End Sub

Private Sub Form_Unload(Cancel As Integer)
    SaveFormSettings App.Title, Me
End Sub