|
VB.Net-Forum - Beitragsübersicht - |
|
Thema | V12: Automatische Füllung von Steuerelement Informationen |
Von |
Alex |
Datum |
09. September 2015 um 18:50:24 |
Frage |
Hallo, ich stecke gerade in der Klemme. Ich denke sicherlich zu kompliziert und hänge deswegen fest.
Folgendes: Ich lese über eine fremd Api Informationen aus einem Programm. Diese Informationen kommen als Array list an und es werden entsprechende Items ausgelesen. Diese Items sollen dann für Checkboxen als Text/Tooltip und Status dienen.
der Grundcode sieht so aus : Public Sub CheckAchv() Dim Ach As List(Of String) = API.ExecuteLua(My.Resources._0001) With fm '#### Fill 1 .ChkB1.Text = Ach.Item(1) .TT1.SetToolTip(.ChkB1, Ach.Item(7)) If Ach(3) = True Then .ChkB1.Enabled = False End If End With End Sub Jetzt habe ich 9 Checkboxen zu füllen die momentan alle benannt sind mit ChkB1,ChkB2,ChkB3,usw. Die Ressourcen sind ebenfalls durchgehen mit _0001,_0002_0003, usw.
Ich würde jetzt gerne, das er anhand eines Counters oder ähnlichem die durchnummerierten Ressourcen ausliest und den passenden Checkboxen zuteilt. Also, das ich nicht für jede Checkbox einen eigenen Code Abschnitt schreiben muss.
Wie realisiere ich das am einfachsten? Danke für eure Hilfe |
|
Antwort: |
Von |
Alex |
Datum |
09. September 2015 um 21:22:38 |
Antwort |
Hey Nico, erstmal danke dafür.
leider hänge ich damit jetzt auch wieder fest. Noch zusätzliche Informationen...
Die Fremdanwendung lädt meine Klassenbibliothek.
Strukturierung : Class1 (Namespace) <- hier findet die abfrage statt fMain wird als Dialog Fenster auf Anfrage der Fremdanwendung gestartet und hier befinden sich die Checkboxen.
durch den CType aufruf bekomme ich direkt im Code einen Fehler. (In kurzform : Für den Parameter "searchAllChildren" wurde kein Argument angegeben.)
Also habe ich ihm dann erlaubt alles zu durchsuchen.#Region "Defines" Public fm As New fMain ' Public Property CharF As String = API.Me.Faction.ToString Private CharN As String = API.Me.Class.ToString Public Property CharL As String = API.Me.Level.ToString #End Region Public Overrides ReadOnly Property SettingsForm() As Form Get Return New fMain() fm.ShowDialog() End Get End Property Public Overrides Sub Start() End Sub Public Overrides Sub [Stop]() End Sub Public Overrides Sub Run() CheckAchv() End Sub Private Sub CheckAchV(chk As CheckBox, luaCode As String) Dim Ach As List(Of String) = API.ExecuteLua(luaCode) chk.Text = Ach.Item(1) fm.TT1.SetToolTip(chk, Ach.Item(7)) If Ach(3) = True Then chk.Enabled = False End If End Sub Public Sub CheckAchv() For i As Integer = 1 To 9 Dim luaCode As String = My.Resources.ResourceManager.GetString(String.Format("_{0:0000}", i)) Dim chk = CType(fm.Controls.Find("ChkB" & i, True), CheckBox) Next End Sub End Class End Namespace Allerdings bekomme ich jetzt die Meldung das ein 1-Dimensionales Array nicht zum Typ Checkbox konvertiert werden kann.
Ich denke ich stehe heute einfach auf dem schlauch.
Was mache ich falsch? |
|
[ Antwort schreiben | Zurück zum VB.Net-Forum | Forum-Hilfe ] |
|
Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|