Ich habe eine checkedlistbox1, die über eine Suchfunktion mit einem Ordnerbrowserdialog gefüllt wird. Sobald ich ein Element (= XML-Datei) überprüft habe, füllt es ein Listenfeld nach bestimmten Knoten, indem es eine separate Klasse aufruft. Das funktioniert gut.Checkedlistbox: Objekte abwählen und Aktion bei neuer Auswahl erneut ausführen
Was ich als nächstes tun möchte, ist, wenn ich ein anderes Element in cheweredlistbox1 wähle, hebt es das zuvor geprüfte Element auf und führt die separate Klasse erneut aus, um die Knoten des neu ausgewählten Elements anzuzeigen.
Mein Code ist eine Unschärfe von Versuchen nach anderen Suchen, die ich gemacht habe. Bitte nimm zur Kenntnis, was ich tun soll. Das ist nicht so, als hätte ich meinen Code jetzt, weil ich nicht möchte, dass ein Fehler auftritt, wenn ich ein anderes Objekt auswähle. Ich möchte nur, dass die vorherige Auswahl rückgängig gemacht wird und die Aktion für den neu ausgewählten Artikel erneut ausgeführt wird.
Ich hoffe, dass mir jemand hier helfen kann.
Code:
Try
Dim checkLstBox As CheckedListBox = CType(sender, CheckedListBox)
Dim targetNum As Integer = 1
If e.NewValue = CheckState.Checked AndAlso checkLstBox.CheckedItems.Count + 1 > targetNum Then
Call ClsMessageBoxes.CheckedListbox1_maxcheck_Form2()
e.NewValue = CheckState.Unchecked
For i As Integer = 0 To f5.CheckedListBox1.Items.Count - 1
f5.CheckedListBox1.SetItemChecked(i, False)
Next 'This part at least throws an error if I select a new item in checkedlistbox1 and de-selects the previous item'
Else
'this part does not work'
f5.ListBoxDestPlate.Items.Clear()
f5.CheckedListlistbox2.SelectedItems.Clear()
'this part is meant to select an item in another checkbox according to certain tekst in the filename'
Dim i As Integer
If ClsSharedProperties2.filePath2.Contains("Text1") Then
i = 1
f5.Checkedlistbox2.SetItemChecked(i, True)
Call ClsScan.scanning2()
ElseIf ClsSharedProperties2.filePath2.Contains("Text2") Then
i = 2
f5.Checkedlistbox2.SetItemChecked(i, True)
Call ClsScan.scanning2()
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message & vbCrLf & "Stack Trace: " & vbCrLf & ex.StackTrace)
End Try
'Ich habe keinen nützlichen Code' sicher, dass Sie tun. Veröffentlichen Sie Ihre engsten Bemühungen. Es wird jedem, der antworten möchte, helfen, eine Menge über das Problem zu verstehen. Bitte lesen [fragen] und nehmen Sie die [Tour] – Plutonix
Danke Plutonix. Ich habe den Code so hinzugefügt, wie er gerade ist. – Woudi