| |
VB.NET - Ein- und UmsteigerEigene serialisierbare Klasse für Settings | | | Autor: Manfred X | Datum: 30.12.18 09:36 |
| Ergänzender Hinweis:
Die Soap-Serialisierung beherrscht auch Datentypen
wie Font oder Color, die bei Settingsvariablen oft vorkommen.
Es ist deshalb ggf. zweckmäßig, für die Einstellungen eine
entsprechende Klasse zu programmieren.
Ein Windows.Forms-Beispiel:
Public Class frmSettingsDemo
'Klasse für die Serialisierung der Einstellungen
Public Class SettingsSerialization
'Der erforderliche Formatter (Projektverweis notwendig!)
Dim ft As New _
System.Runtime.Serialization.Formatters.Soap.SoapFormatter
'Serialisierbare Datenklasse
<System.Serializable>
Public Class SettingsProperties
'Festlegung der Eigenschaften incl. Datentyp und Defaultwert
Public Property Text_Font As Font = New Font("Arial", 8)
Public Property Text_Forecolor As Drawing.Color = Color.Black
Public Property Text_Backcolor As Drawing.Color = Color.White
End Class
'Instanz für Aufbewahrung der Einstellungen
Public Settings As New SettingsProperties
'Abfrage-Properties für die Datenbindiung
ReadOnly Property Text_Font As Font
Get
Return Settings.Text_Font
End Get
End Property
ReadOnly Property Text_Forecolor As Color
Get
Return Settings.Text_Forecolor
End Get
End Property
ReadOnly Property Text_Backcolor As Color
Get
Return Settings.Text_Backcolor
End Get
End Property
'Serialisierung / Speichern der Einstellungen in einer Datei
Public Sub Serialize(ByVal FileName As String)
'Instanz der SettingsProperties im Filestream speichern
Using fs As New IO.FileStream(FileName, IO.FileMode.OpenOrCreate, _
IO.FileAccess.Write)
ft.Serialize(fs, Settings)
End Using
End Sub
'Lesen der gespeicherten Einstellungen aus einer Datei
Public Sub Deserialize(ByVal filename As String)
Using fs As New IO.FileStream(filename, IO.FileMode.Open, _
IO.FileAccess.Read)
'Instanz der Settingsproperties ais Filetream lesen
Settings = DirectCast(ft.Deserialize(fs), SettingsProperties)
End Using
End Sub
End Class
'Instanz der Klasse für Aufbewahrung und Serialisierung der eingestellten
' Werte
Dim mySettings As New SettingsSerialization
'einzurichtendes Control
Dim tbo As New TextBox With {.Parent = Me, .Width = 300}
'Erstellen und Speichern der Einstellungen
Private Sub CreateSettings()
With mySettings
With .Settings
.Text_Backcolor = Color.Red
.Text_Forecolor = Color.White
.Text_Font = New Font("Arial", 20, FontStyle.Italic)
End With
'beliebige Datei als Parameter angeben
.Serialize("G:\Daten\frmSettings.xml")
End With
End Sub
'Lesen und Anbinden der Einstellungen
Private Sub GetSettings()
mySettings.Deserialize("G:\Daten\frmSettings.xml")
With tbo.DataBindings
.Add("Forecolor", mySettings, "Text_Forecolor")
.Add("Backcolor", mySettings, "Text_Backcolor")
.Add("Font", mySettings, "Text_Font")
End With
End Sub
Private Sub frmSettingsDemo_Load(sender As Object, _
e As EventArgs) Handles MyBase.Load
CreateSettings() 'nur beim ersten Aufruf der Form erforderlich
GetSettings()
End Sub
End Class
Beitrag wurde zuletzt am 30.12.18 um 09:54:27 editiert. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|