Auf manuell erstellte Labels zugreifen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Auf manuell erstellte Labels zugreifen

    Hallo VB-Paradiser,

    ich habe verschiedene Labels und Textboxen erstellt in denen man etwas eintragen soll. Jetzt möchte ich das ganze aber speichern als .xml Datei, klappt gut bis auf die ganzen Textboxen und Labels davor. Das heißt es wird nur das Letzt LAbel, Textbox eingelesen und gespeichert. Der Code ist folgender:

    Visual Basic-Quellcode

    1. Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
    2. LBL = New Label 'Control
    3. LBL.Name = "Lbl_" & labelname
    4. LBL.Text = ComboBox1.SelectedItem
    5. LBL.Height = 13
    6. LBL.Width = 75
    7. LBL.Left = 439
    8. LBL.Top = i
    9. '39; 13
    10. LBL.BorderStyle = 0
    11. LBL.TextAlign = 2
    12. Me.Controls.Add(LBL)
    13. labelname = labelname + 1
    14. checkbox = New CheckBox
    15. checkbox.Name = "Checkbox" & labelname
    16. checkbox.Text = ""
    17. checkbox.Left = 400
    18. checkbox.Top = i
    19. Me.Controls.Add(checkbox)
    20. i = i + 30
    21. TXT1 = New TextBox
    22. TXT1.Name = "TXT1" & labelname
    23. TXT1.Left = 600
    24. TXT1.Top = a
    25. TXT1.Text = ""
    26. TXT1.Height = 20
    27. TXT1.Width = 60
    28. TXT1Name = TXT1Name + 1
    29. Me.Controls.Add(TXT1)
    30. a = a + 30
    31. TXTx = New TextBox
    32. TXTx.Name = "TXTx" & labelname
    33. TXTx.Left = 684
    34. TXTx.Top = b
    35. TXTx.Text = ""
    36. TXTx.Height = 20
    37. TXTx.Width = 100
    38. txtxname = txtxname + 1
    39. Me.Controls.Add(TXTx)
    40. b = b + 30
    41. Lblx = New Label 'Control
    42. Lblx.Name = "Lblx_" & labelname
    43. Lblx.Text = "x"
    44. Lblx.Height = 13
    45. Lblx.Width = 12
    46. Lblx.Left = 666
    47. Lblx.Top = c
    48. '39; 13
    49. Lblx.BorderStyle = 0
    50. Lblx.TextAlign = 2
    51. Me.Controls.Add(Lblx)
    52. c = c + 30
    53. lblwdh = New Label 'Control
    54. lblwdh.Name = "Lblwdh_" & labelname
    55. lblwdh.Text = "WDH."
    56. lblwdh.Height = 13
    57. lblwdh.Width = 37
    58. lblwdh.Left = 790
    59. lblwdh.Top = d
    60. '39; 13
    61. lblwdh.BorderStyle = 0
    62. lblwdh.TextAlign = 2
    63. Me.Controls.Add(lblwdh)
    64. d = d + 30
    65. End Sub
    66. Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
    67. Dim d As Date = Date.Today.ToString
    68. If File.Exists(Application.StartupPath & d & ".xml") = True Then
    69. File.Delete(Application.StartupPath & d & ".xml")
    70. Else
    71. File.WriteAllText(d & ".xml", LBL.Text & TXT1.Text & TXTx.Text & Lblx.Text & lblwdh.Text)
    72. End If
    73. End Sub
    @Leo&Eike Sorry, beim Betrachten Deines Codes bekommt man ja Augenkrebs.
    Verwende bitte auch beim Schreiben einen voll qualifizierten Pfad.
    Was haben Deine Ausgaben mit XML zu tun?
    Das wären bestenfalls Text-Dateien.
    Warum erstellst Du diese Controls zur Laufzeit und nicht im Designer?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Der User wählt eine Übung aus, Bsp. Bankdrücken.
    Dann erscheint folgendes (siehe Screenshot)

    Jetzt drückt der User nachdem er weitere Übungen hinzugefügt hat und die entsprechenden Werte eingetragen hat, auf "speichern". Es soll dann alles in eine .xml Datei geschrieben werden!
    Bilder
    • Unbenannt.png

      458,95 kB, 1.600×900, 158 mal angesehen
    @Leo&Eike OK.
    Pack die einzelnen Übungen in je einen Tab eines TabControls, die kannst Du im Designer machen. Gugst Du auch hier.
    Zum Speichern und Einlesen nimm ein anständiges Format, z.B. das XML-Format.
    Was Du da oben gemacht hast, ist ein Textformat.
    Mach mal im Thread-Titel aus VB6 ein VB.NET.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Leo&Eike schrieb:

    Und dann
    musst Du keine Controls zur Laufzeit erstellen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das heißt, ich soll schon zu jeder Übung ein TabControl einrichten? 8|

    EDIT: Dein Tutorial löst bei mir nur eine Fehlermeldung nach der anderen aus, nachdem ich im Designer Form erstetzte.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Leo&Eike“ ()

    Wie bereits in deim anneren Thread prophezeit, bist du offensichtlich mitten im Wurstel-Prozess
    Ich kann dir nur nochmal empfehlen: Wende für eine Datenverarbeitung die für Datenverarbeitung vorgesehenen Technologien an.
    Klar musste dafür 'ne Menge lernen, aber dieses Lernen nutzt dir.
    Das Wursteln schadet dir.

    Leo&Eike schrieb:

    jeder Übung ein TabControl einrichten
    Jou.

    Leo&Eike schrieb:

    eine Fehlermeldung nach der anderen
    Welche? in welcher Zeile?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!