Question

Je développe une pièce dans VB.NET. Dans mon formulaire principal, je crée un nouveau formulaire à utiliser comme dialogue. Je me demandais s’il existait un moyen de sauvegarder, à la fermeture de la nouvelle boîte de dialogue, ses paramètres de taille pour chaque utilisateur (probablement dans un fichier sur leur machine, via XML ou quelque chose de ce genre?)

Était-ce utile?

La solution

vous pouvez l'enregistrer dans le fichier de paramètres et le mettre à jour lors de l'événement 'onclosing'.

pour effectuer un réglage, allez à Propriétés du projet - > paramètres - > puis effectuez un réglage tel que 'dialogsize' de type system.drawing.size.

puis faites ceci dans votre formulaire de dialogue:

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

faites quelque chose comme ceci pour vérifier et utiliser le paramètre:

    Dim dlg As MyDialogWindow
    If My.Settings.DialogSize.IsEmpty Then
        dlg = New MyDialogWindow()
    Else
        dlg = New MyDialogWindow(My.Settings.DialogSize)
    End If
    dlg.ShowDialog()

Autres conseils

Bien que ceci soit en C # , cela aidera aussi avec VB.Net.

Vous pouvez également ajouter un nouveau paramètre à votre application (taille) et le définir sur system.drawing.size

.

Ensuite, assurez-vous d'enregistrer la taille actuelle dans les paramètres de fermeture.

    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

et en charge, vous appliquez la taille que vous avez enregistrée dans les paramètres

    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

Vous pouvez également le faire en utilisant l'interface utilisateur fournie par l'EDI VB.NET lui-même. Dans le volet des propriétés d'un formulaire, recherchez l'élément intitulé "(Paramètres de l'application)". puis sous "Propriété Binding". Vous pouvez lier à peu près toutes les propriétés du formulaire (y compris la taille et l'emplacement) à une valeur de paramètre pour cette application.

En fin de compte, j’ai trouvé un moyen de le faire en utilisant System.IO.IsolatedStorage

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top