Eine Frage zur grundsätzlichen Bedienung von Visual Studio 2022

  • Allgemein

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von loosm.

    Eine Frage zur grundsätzlichen Bedienung von Visual Studio 2022

    Ich habe mit Visual Studio eine Projektmappe WinfFormApp1 erstellt
    der Code der mir zu Anfang vorgegeben wurde ist :

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. End Sub
    4. End Class


    Dann habe ich nach einer Anleitung gesucht wie man seinen ersten eigenen Code schreiben kann und bin auf den Link:

    Erstellen einer Windows Forms-App mit Visual Basic - Visual Studio (Windows) | Microsoft Docs

    gestoßen. Auf dieser Seite wird beschrieben das man Hilfe der Toolbox einen Button und ein Steuerelement Bezeichnung einfügt. Das Steuerelement Bezeichnung habe ich in der Toolbox nicht gefunden.

    Stattdessen habe ich ein Label eingefügt und dem Label den Namen lblHelloWorld gegeben. Was mich wundert ist, dass ich die Eigenschaft Text des Label bereits im Formularentwurf festlegen musste damit das Label nicht in der Ansicht verschwindet.

    Wie wird jetzt der Beispielscode den ich unter dem Link: Erstellen einer Windows Forms-App mit Visual Basic - Visual Studio (Windows) | Microsoft Docs
    gefunden habe:

    VB.NET-Quellcode

    1. Private Sub btnClickthis_Click(Sender As Objekt, e As EventArgs) Handles btnClickThis.click
    2. lblHelloWorld.Text = " Hello World ! "
    3. End Sub

    in den bereits vorhandenen Code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. End Sub
    4. End Class

    integriert ?

    Vielen Dank für eine eventuelle Antwort

    CodeTags gesetzt und Formatierungschaos beseitigt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    loosm schrieb:

    Auf dieser Seite wird beschrieben das man Hilfe der Toolbox einen Button und ein Steuerelement Bezeichnung einfügt.
    Die MS-Doku wird automatisch übersetzt, mit gelegentlich mehr oder weniger lustigen Ergebnissen.
    ZB das Control Label wird zu "Bezeichnung" - klar, gibts inne Toolbox nicht.
    Also wenns geht lieber die englische Doku lesen.



    Ansonsten kann ich dir für solche Basics paar Video-Links empfehlen:
    • Layout in Windows.Forms
      Ich glaub da werden die Visual-Konzepte besser deutlich als wenn man sich durch Text quälen muss.
    • Noch ein Link für vb.net-Anfänger: Visual Studio – Empfohlene Einstellungen
      Nicht verstehen, einfach befolgen. Zum Verstehen muss man schon bisserl gelernt haben, aber wenn mans nicht befolgt, steht genau das dem Lernen im Weg.
    • VisualStudio richtig nutzen (Google ist nicht deine Mami)
      zeigt ebenfalls viele Features visueller Programmierung
      Vor allem aber den ObjectBrowser, das ist die Dokumentation allen Framework-Codes - und auch deines eigenen.
      Wer den OB geschnallt hat, muss beim Programmieren kaum noch herumgooglen

    Zur Forum-Benutzung gibts auch was - weil so kann (bzw mag) ich deinen eingestellten Code nicht lesen:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Willkommen im Forum. :thumbup:

    loosm schrieb:

    Das Steuerelement Bezeichnung
    Label ist völlig korrekt.
    Den Prozedur-Rumpf Form1_Load hast Du erzeugt durch einen Doppelklick auf die Form in Designer.
    Wenn das Label im Designer keinen Text bekommt, ist auf der Form kein Text und damit kein Label zu sehen, es ist aber vorhanden.
    Dieser Code reicht:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub btnClickthis_Click(Sender As Objekt, e As EventArgs) Handles btnClickThis.click
    3. lblHelloWorld.Text = " Hello World ! "
    4. End Sub
    5. End Class
    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!
    Willkommen im Forum!

    Dein Post ist sehr schwer lesbar. Für den Code-Block gibt es auch entsprechende Code-Tags, die du bitte benutzen solltest.
    Die Hilfen die du findest gehen sehr oft davon aus, dass du ein kleines bischen vorbelastet bist, dich also mit dem Studio an sich auskennst.

    1. Ein Label im Designer ohne einen Label-Text ist halt nur schwer "findbar", den Text kann man wunderbar im Form-Shown (oder wegen mir auch im Form-Load Ereigneis" anders setzen oder löschen.
    label .Text = "" zum Beispiel.
    Das Form-Load ist ein Ereignis, was dir der Designer bereits generiert hat als du im Designer ins Form doppelgeklickt hast. Der Code aus dem Internet beschreibt ein Button-Klick-Ereignis, das solltest du aber keinesfalls abtippen!
    Du ziehst aus der Toolbox einen Button auf das Form, dann änderst du im Designer den Namen für den Button ab, so dass der Name erklärt was der Button machen soll. Dann klickst du immer Designer auf deinen Button und "landest" im Designer, dort wo der Designer in diesem Moment das Ereigneis für dich erstellt hat. Hier kannst du dann deinen Code unterbringen.

    So das erst mal damit du weiter machen kannst.

    *Da waren ERD und Rod mal wieder schneller*
    Vielen Dank für die vielen Antworten.

    Warum hatte ich überhaupt diese Frage gestellt ? Ich war wirklich auf die Idee gekommen den einen Code in den anderen zu integrieren :

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. Private Sub btnClickthis_Click(sender As Object, e As EventArgs) Handles btnClickthis.Click
    4. lblHelloWorld.Text = " Hello World ! "
    5. End Sub
    6. End Sub
    7. End Class



    Wenn man diesen Code versucht zu starten, hagelt es Fehlermeldungen. Nachdem ich den Button in die Form gezogen hatte musste ich den entstanden Code nur um den Befehl:

    VB.NET-Quellcode

    1. lblHelloWorld.Text= " Hello World ! "


    ergänzen, der entstandene Code sieht nun so aus :

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. End Sub
    4. Private Sub btnClickthis_Click(sender As Object, e As EventArgs) Handles btnClickthis.Click
    5. lblHelloWorld.Text = " Hello World ! "
    6. End Sub
    7. End Class


    Dann hatte ich noch die Eigenschaft Text des Label im Formularentwurf gelöscht, damit der Text erst erscheint, wenn ich auf den Button klicke.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „loosm“ ()

    @loosm Was ist das Problem?
    Leere Prozeduren (Form1_Load()) kannst Du ersatzlos löschen.
    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!
    Oh ja, du hattest bereits geschrieben : "Dieser Code reicht: " , ich hatte den überflüssigen Code stehen lassen,
    1. weil er von Microsoft vorgegeben wurde.
    2. Wegen dem Wort "Load" hatte ich geglaubt, das er notwendig sei um das Programm überhaupt zu starten.
    3. Weil das Programm funktioniert hat.
    Das Problem ist das ich nicht weis warum dieser Code von Microsoft vorgegeben wurde. Bezogen auf das Beispiel mit dem Button und dem Label ist er nutzlos.
    Gibt es ein anderes Beispiel wo genau diese Prozedur

    VB.NET-Quellcode

    1. Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    mit mehr Inhalt abgefüllt werden muss ?
    Hi,
    klar, dort kannst du Code einfügen, der schon beim Laden ausgeführt werden soll.
    Packe z.B. ein

    VB.NET-Quellcode

    1. lblHelloWorld.text = Date.Now.ToLongTimeString

    dort rein, um dir die Zeit beim Start anzuzeigen.
    Du kannst dort alles rein packen, was du willst, es wird dann halt direkt ohne dein Zutun beim Start erledigt.

    P.S.: Deine komische Verschachtelung ist nicht nur inkorrekt, sondern auch vollkommen unnötig.
    Schau dir den Teil hinter "Handles" mal an, da wird angeführt wann der Code ausgeführt wird, welches Ereignis ausgelöst werden muss damit diese Sub ausgeführt wird.
    Brauch' ich die?