| |
VB.NET - Ein- und UmsteigerVB.Net VS2019Pro - My.Settings Problem | | | Autor: Dideldum | Datum: 14.12.22 18:02 |
| Hi Ihr,
ich quäle mich etwas mit dem Umstieg vom VB6 auf das VB.net.
Aktuell habe ich folgendes Problem:
Das Programm liegt auf einem eingebundenen Netzwerkpfad, falls das wichtig sein sollte
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
If My.Settings.QuellPfad.Length = 0 Then
My.Settings.QuellPfad = "C:\"
End If
If My.Settings.MainLocation.IsEmpty Then
Me.Size = New System.Drawing.Size(800, 600)
Else
Me.Size = My.Settings.MainSize
Me.Location = My.Settings.MainLocation
End If
Catch ex As Exception
Debug.Assert(False)
Trace.WriteLine("Fehler: Wo: " & ex.StackTrace & " Was: " & _
ex.Message)
End Try
End Sub und
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) _
Handles MyBase.FormClosing
Try
My.Settings.MainSize = Me.Size
My.Settings.MainLocation = Me.Location
My.Settings.Save()
Catch ex As Exception
Debug.Assert(False)
Trace.WriteLine("Fehler: Wo: " & ex.StackTrace & " Was: " & _
ex.Message)
End Try
End Sub Sollte m.E. funktionieren.
Aaaaaaber...
Beim Debuggen mit Einzelschritt werden im FormClosing den beiden My.Settings.Mainsize und My.Settings.MainLocation zwar die korrekten Werte von FensterPos und -Size übergeben.
Aber im Programmfolder bleibt die Dateiname.config unverändert bzw. auf dem Standard-Settings.
Obwohl beim Programmneustart der String "QuellPfad" den Wert des letzten Programmlaufs erhält.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" _
type="System.Configuration.UserSettingsGroup, System," & _
"Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ICE.My.MySettings" _
type="System.Configuration.ClientSettingsSection, System," & _
"Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" _
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<userSettings>
<ICE.My.MySettings>
<setting name="QuellPfad" serializeAs="String">
<value>C:\</value>
</setting>
<setting name="Unterpfad" serializeAs="String">
<value />
</setting>
<setting name="MainLocation" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="MainSize" serializeAs="String">
<value>800, 600</value>
</setting>
</ICE.My.MySettings>
</userSettings>
</configuration> In "Debuggen" - "Test1 - Debugeigenschaften" - "Einstellungen" habe ich:
Quellpfad - String - Benutzer - C:\
MainLocation - System.Drawing.Point - Benutzer - 0;0
MainSize - System.Drawing.Size - Benutzer - 800;600
Ich verstehe gar nicht, warum der QuellPfad korrekt gespeichert wird, während MainLocation und MainSize ignoriert werden.
Und warum sich der dem QuellPfad zugewiesene String nicht in der .Config-Datei findet.
Kann mir da vielleicht jemand von Euch helfen, weiterzukommen?
Beste Grüsse und Danke schon mal. | |
Re: VB.Net VS2019Pro - My.Settings Problem | | | Autor: Dideldum | Datum: 14.12.22 18:06 |
| Ach ja, hier noch die sub zur Zuweisung des Strings QuellPfad dessen Speicherung funktioniert (nur wo wird dieser String gespeichert?):
Private Sub DateiToolStripMenuItem_Click(sender As Object, e As EventArgs) _
Handles DateiToolStripMenuItem.Click
FolderBrowserDialog1.ShowDialog()
My.Settings.QuellPfad = FolderBrowserDialog1.SelectedPath
If My.Settings.QuellPfad.Substring(My.Settings.QuellPfad.Length - 1, 1) _
<> "\" Then
My.Settings.QuellPfad = My.Settings.QuellPfad & "\"
End If
verzeichnisListe()
End Sub | |
Re: VB.Net VS2019Pro - My.Settings Problem | | | Autor: Dideldum | Datum: 15.12.22 14:38 |
| Hi,
danke Dir!
Ja, das habe ich gestern auch noch herausgefunden, dass die zu Programmlaufzeit gespeicherten Variablen von My.Settings in
C:\Users\MyUserName\App-Name\App-Name und ein paar wirre Zeichen\Versionsnummer
abgelegt werden.
Auch meinen Fehler habe ich entdecken können.
In _Resize und _Move sollte man zu App-Ladezeiten besser kein my.settings.save() ausführen lassen, da damit wechselseitig die Standard-Settings geladen werden.
Der Fall ist also erledigt und ich kann weiterlernen.
Was mich wundert, im keinem meiner zum Lernen gekauften VS2019-Bücher ist etwas zu my.settings zu finden.
Nicht mal im "Einstieg in Visual Basic 2019" von Rheinwerk.
Kann mir da vielleicht einer von Euch ein umfassenderes Werk in Buchform empfehlen?
Denn VB.net unterscheidet sich schon gewaltig vom VB6, was ich über die Jahre liebgewonnen hatte. | |
Re: VB.Net VS2019Pro - My.Settings Problem | | | Autor: Dideldum | Datum: 15.12.22 19:23 |
| Hi Kuno,
Danke auch Dir!
Um eine Sprache zu lernen, bevorzuge ich gedruckte Werke.
Etwas, was man in die Hand nehmen und als Bettlektüre verwenden kann.
Diese von Dir verlinkte Hilfe habe ich eh meist auf dem rechten Bildschirm offen.
Auf dem linken das laufende Projekt und in der Mitte das VB mit dem Code.
Da wäre ein umfassendes Buch also recht praktisch.
Früher kamen die ja mit dem Kauf des Programms immer mit.
Toolbook zwei Schwarten
VB6 noch ein fetter Schmöker
VB.net nüscht
Und leider finde ich im Web nicht wirklich umfassende Bücher zum VB.net 2019. | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere 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
|
|