Guardar Windows Form Tamanho
-
03-07-2019 - |
Pergunta
Estou desenvolvendo uma peça em VB.NET. Dentro da minha forma primária, eu estou criando uma nova forma de usar como um diálogo. Eu queria saber se havia uma maneira de, após o encerramento da nova caixa de diálogo, salvá-lo de configurações de tamanho para cada usuário (provavelmente em um arquivo em sua máquina, através de XML ou algo assim?)
Solução
pode guardá-lo para o arquivo de configurações, e atualizá-lo sobre a 'OnClosing' evento.
para fazer um ajuste Goto Propriedades do projeto -> Configurações -> em seguida, fazer um ambiente como 'dialogsize' do tipo System.Drawing.Size
., em seguida, fazer isso em seu formulário de diálogo:
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
fazer algo assim para verificar e usar a configuração:
Dim dlg As MyDialogWindow
If My.Settings.DialogSize.IsEmpty Then
dlg = New MyDialogWindow()
Else
dlg = New MyDialogWindow(My.Settings.DialogSize)
End If
dlg.ShowDialog()
Outras dicas
isto é para C # , que vai ajudar com VB.Net também.
Você também pode adicionar uma nova configuração para sua aplicação (tamanho) e configurá-lo para system.drawing.size
Em seguida, certifique-se de salvar o tamanho atual para as definições no próximo.
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
e na carga de aplicar o tamanho que você salvou em configurações
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
Você também pode fazer isso usando a interface do usuário fornecida pelo próprio VB.NET IDE. No painel de propriedades para uma forma, olhar sob o item chamado "(Configurações do aplicativo)" e, em seguida, em "Binding propriedade." Você pode vincular apenas sobre cada propriedade do formulário (incluindo o tamanho e localização) para um valor configurações para essa aplicação.
Como se vê, eu encontrei uma maneira de fazer isso usando o System.IO.IsolatedStorage