質問

VB.NETで作品を開発しています。プライマリフォーム内で、ダイアログとして使用する新しいフォームを作成しています。新しいダイアログを閉じるときに、各ユーザーのサイズ設定を保存する方法があるかどうか疑問に思っていました(おそらく、XMLまたは何かを介して、マシン上のファイルに?)

役に立ちましたか?

解決

設定ファイルに保存し、「onclosing」イベントで更新できます。

設定を行うには、プロジェクトのプロパティに移動します->設定->次に、タイプsystem.drawing.sizeの「dialogsize」のような設定を行います。

次に、ダイアログフォームでこれを行います。

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()

他のヒント

これはC#用、VB.Netにも役立ちます。

アプリケーションに新しい設定(サイズ)を追加して、 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

VB.NET IDE自体が提供するUIを使用してこれを行うこともできます。フォームのプロパティペインで、"(アプリケーション設定)"という項目を探します。そして、「プロパティのバインド」の下で。フォームのほぼすべてのプロパティ(サイズと場所を含む)をそのアプリケーションの設定値にバインドできます。

結局のところ、 System.IO.IsolatedStorage

を使用してこれを行う方法を見つけました
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top