WOW, Danke für die schnelle Hilfe
Soweit funktioniert es jetzt auch schon... Bekomme aber 2 Warnungen:
1. Die Standarddrucker-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten.
(Betrifft die Private Sub Form1_Load vom Beitrag davor)
Codeausschnitt vom Ende... - Fehler rot markiert.
Dim Standarddrucker As String
With ComboBox1
For Each s In Printing.PrinterSettings.InstalledPrinters
.Items.Add(s)
If s = PrintDoc.PrinterSettings.PrinterName Then
Standarddrucker = s
End If
Next s
If .Items.Count > 0 Then
'// Standarddrucker markieren
' aber nur wenn vorher kein Drucker von dir selektiert wurde
Dim i As Integer = _
Me.ComboBox1.FindStringExact(clsSettings.GetSetting("ComboBox", "dein_Drucker", "DeineConfigDatei.xml"))
If i = -1 Then
'// Standarddrucker setzen
i = Me.ComboBox1.FindStringExact(Standarddrucker)
Else
'// eigener Drucker wurde gefunden
End If
Me.ComboBox1.SelectedIndex = i
Else
MessageBox.Show("Es ist kein Drucker installiert!", "Abbruch", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Me.Close()
End If
2. Die GetSetting-Funktion gibt nicht für alle Codepfade einen Wert zurück. Wenn das Ergebnis verwendet wird, kann zur Laufzeit eine Nullverweisausnahme auftreten.
(Betrifft das Ende deiner kopierten Funktion: Public Shared Function GetSetting)
Codeausschnitt vom Ende... - Fehler rot markiert.
Catch ex As Exception
'// System.Windows.Forms.MessageBox.Show(ex.ToString)
End Try
End Function#End Region
End Class
Habe jetzt mal eine neue Klasse (clsSettings.vb) bei mir angelegt und deine Inhalte der Public Shared Sub SaveSetting und die Public Shared Function GetSetting Funktion kopiert. Passen hier jetzt noch die Bezeichnungen? ("dein_Drucker" wie oben im Beispiel beschrieben und "Eintrag" wie bei dir in deinem 1. Beispiel mit den 4 Einträgen?
Brauche ich den kompletten Inhalt deiner Public Shared Sub SaveSetting und der Public Shared Function GetSetting Funktion für die Speicherung der Variable, oder kann ich da noch was kürzen oder rauslöschen? (ist nicht böse gemeint)
Oder anders gefragt, sieht der Code für das eben beschriebene Beispiel hier oben drüber noch genauso aus, wie die Public Shared Sub SaveSetting und die Public Shared Function GetSetting Funktion aus deinem 1. Beispiel weiter oben? (Oder kann man das einfacher / kürzer machen, weil ich ja nur die Variable für den Drucker speichern will, du in deinem Projekt aber vielleicht mehr oder anderes gespeichert hast?)
Danke nochmals für deine super Unterstützung
Soweit funktioniert es jetzt auch schon... Bekomme aber 2 Warnungen:
1. Die Standarddrucker-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten.
(Betrifft die Private Sub Form1_Load vom Beitrag davor)
Codeausschnitt vom Ende... - Fehler rot markiert.
Dim Standarddrucker As String
With ComboBox1
For Each s In Printing.PrinterSettings.InstalledPrinters
.Items.Add(s)
If s = PrintDoc.PrinterSettings.PrinterName Then
Standarddrucker = s
End If
Next s
If .Items.Count > 0 Then
'// Standarddrucker markieren
' aber nur wenn vorher kein Drucker von dir selektiert wurde
Dim i As Integer = _
Me.ComboBox1.FindStringExact(clsSettings.GetSetting("ComboBox", "dein_Drucker", "DeineConfigDatei.xml"))
If i = -1 Then
'// Standarddrucker setzen
i = Me.ComboBox1.FindStringExact(Standarddrucker)
Else
'// eigener Drucker wurde gefunden
End If
Me.ComboBox1.SelectedIndex = i
Else
MessageBox.Show("Es ist kein Drucker installiert!", "Abbruch", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Me.Close()
End If
2. Die GetSetting-Funktion gibt nicht für alle Codepfade einen Wert zurück. Wenn das Ergebnis verwendet wird, kann zur Laufzeit eine Nullverweisausnahme auftreten.
(Betrifft das Ende deiner kopierten Funktion: Public Shared Function GetSetting)
Codeausschnitt vom Ende... - Fehler rot markiert.
Catch ex As Exception
'// System.Windows.Forms.MessageBox.Show(ex.ToString)
End Try
End Function#End Region
End Class
Habe jetzt mal eine neue Klasse (clsSettings.vb) bei mir angelegt und deine Inhalte der Public Shared Sub SaveSetting und die Public Shared Function GetSetting Funktion kopiert. Passen hier jetzt noch die Bezeichnungen? ("dein_Drucker" wie oben im Beispiel beschrieben und "Eintrag" wie bei dir in deinem 1. Beispiel mit den 4 Einträgen?
Brauche ich den kompletten Inhalt deiner Public Shared Sub SaveSetting und der Public Shared Function GetSetting Funktion für die Speicherung der Variable, oder kann ich da noch was kürzen oder rauslöschen? (ist nicht böse gemeint)
Oder anders gefragt, sieht der Code für das eben beschriebene Beispiel hier oben drüber noch genauso aus, wie die Public Shared Sub SaveSetting und die Public Shared Function GetSetting Funktion aus deinem 1. Beispiel weiter oben? (Oder kann man das einfacher / kürzer machen, weil ich ja nur die Variable für den Drucker speichern will, du in deinem Projekt aber vielleicht mehr oder anderes gespeichert hast?)
Danke nochmals für deine super Unterstützung