Verständnis frage zu VB (VisualStudio 10) und deren Befehle

  • VB.NET

Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von TehBasic.

    Verständnis frage zu VB (VisualStudio 10) und deren Befehle

    Moin die runde,
    ich habe nach fast 20 Jahren wieder angefangen zu Programmieren mit VisualStudio (Community) 2015 (C#).

    Habe mir Bücher besorgt und viel schon über Google heraus bekommen. Nun bin ich auf ein Problem gestoßen auf das es viele Antworten im Internet gibt, aber keine der Befehle Funktioniert bzw. wird von "IntelliSense" erkannt.

    Beispiel:
    Ich habe eine ListBox erstellt und sie mit Daten gefüllt. Nun möchte ich wissen, welche Zeile mit der Maus Markiert wurde. Also habe ich Google gefragt und raus ist das gekommen:


    Quelle: msdn.microsoft.com/de-de/libra…ang=csharp#code-snippet-2

    Dort steht "listBox1.SelectedIndex" nur gibt es diesen Befehl bei mir gar nicht:




    Diese habe ich auch bei weitern versuchen festgestellt, das oft Lösung im Internet gezeigt werden mit der mein VisualStudio nicht klar kommt. Wo ist mein Fehler?
    @Pardasus Willkommen im Forum. :thumbup:
    Das ist in der Tat sehr merkwürdig, denn bei mir kommt das richtig, allerdings im Studio 2013:

    Allerdings glaube ich nicht, dass das am Studio liegt.
    Ist der Name Deines Objekts ListBox? Bei mir habe ich den Default-Namen listBox1 verwendet.
    Möglich ist, da Du ListBox als Namen verwendest, dass er da Schwierigkeiten mit der Auflösung von Klassen- und Instanz-Namen hat.
    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 wie schön, die Kopfschmerzen gehen langsam wieder weg :P

    Ich habe tatsächlich mit ListView gearbeitet und nicht mit ListBox! Ihr glaubt gar nicht wie viele Std. ich damit schon verbracht habe. Jetzt funktioniert alles! Ich war echt am verzweifeln und dachte schon fast ich hätte eine Limit-Edition von VisualStudio mit Befehlen die es nur bei mir gibt ;)
    @Pardasus Dann solltest Du in der nächsten Zeit, wenn Du C# und das Studio kennenlernst, die Namen der Objekte, die Du aus der ToolBar auf die GUI ziehst, nicht verändern. ;)
    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!
    Macht man sowas grundsätzlich nicht oder ist das eher ein Tipp für mich als "Anfänger"?

    Ich hatte das Gefühl, damit wäre es übersichtlicher. Wenn man z.b. 10 Button´s hat, bennent man diese um, damit sie im Code schneller zu finden sind.
    Ganz wichtig: Nomen est Omen!
    Daher umbenennt man natürlich Controls, die man aufs Form zieht, sogar als allererstes.
    Allerdings gibt man ihnen Namen, die sagen, was sie tun.
    Was zeigt die ListView an? Kunden? dann heißt sie lvKunde - must-do, no excuses!

    Und wer eine Listview "Listbox" nennt, gehört schlimm bestraft.
    (Naja, du hast dich jetzt ja selbst bestraft, und's sicherlich gelernt ;) )

    Übrigens Anfänger (und Spätzünder) traktiere ich immer mit: Visual Studio - Empfohlene Einstellungen

    Vielleicht haste das ja schon, das wäre ungewöhnlich gut. Ansonsten ebenfalls: must-do, no excuses!

    ErfinderDesRades schrieb:

    Daher umbenennt man natürlich Controls, die man aufs Form zieht, sogar als allererstes.

    @Pardasus Hier habe ich eine andere Meinung.
    Du als Anfänger habest ein Problem und hast 42 Controls auf Deiner GUI. Du postest Deinen Code, in dem Du auf 15 dieser Controls zugreifst und wir wollen dies nachstellen, da müssen wir 15 Controls auf unsere Test-GUI ziehen und umbenennen.
    Das Umbenennen dauert länger als das Ziehen. Da wird sich mancher potenzielle Helfer überlegen, ob er da noch gewillt ist zu helfen. :/
    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!
    Ich würde euch beiden recht geben. Es hängt sicher von der Situation bzw. art des Problems ab, wer von euch recht hat.

    Für mich Persönlich gesprochen, werden nur noch anfragen zum reinen Code kommen. VisualStudio ist schon unglaublich Intelligent und macht fast die ganze Arbeit für ein, da kann man sich rein auf das eigentliche Programm konzentrieren.

    Ich hatte jetzt nur ein echt blöden Fehler wo ich hätte noch Jahre probieren können ohne erfolg. Aber daraus lernt man und beim nächsten mal, wenn ein befehl nicht angezeigt wird, frage ich mich als erstes ob ich überhaupt das richtige Steuerelement habe ;)

    IF (befehl != befehl)
    {
    Change Steuerelement :P
    }

    Pardasus schrieb:

    IF (befehl != befehl)
    Wenn da tatsächlich 2x befehl steht, kommt da immer false zurück. Anders bei IF (befehl2 != befehl2).
    Um mal ein paar Sachen zum Debuggen zu vertiefen gugst Du hier.
    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!
    Sorry, verschrieben:
    IF (befehl2 != befehl2) ==> IF (befehl1 != befehl2)
    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!

    Pardasus schrieb:

    Für mich Persönlich gesprochen, werden nur noch anfragen zum reinen Code kommen.
    Please no!
    Ich hab am liebsten Fragen, die zunächstmal erklären, welches Ziel überhaupt erreicht werden soll. Und da soll nix von Listboxen etc geredet werden, sondern von Kunden, Messwerten, Terminen, Videos, Aufträgen - also aus der richtigen Welt soll geredet werden - nur dann kann man für ein Problem auch eine optimale Umsetzung in Code finden.

    Dazu dann Codesnippets, möglichst immer ganze Funktionen, sinnvoll benamt, mit Angabe, wo's hängt.
    Sowas kann man dann weiterentwickeln oder auch ummodeln.

    Übrigens mein Must-Do: Visual Studio - Empfohlene Einstellungen - erledigt? (nicht dass das über die ganzen klugen Einlassungen am Ende noch vergessen wird!)
    Da sind doch Videos - da wird doch alles vorgeturnt, wie es einzurichten ist.

    Gibts ein Problem, die nachzumachen?

    Und es sind 2 ganz unterschiedliche Punkte
    1. Strict On (On! - nicht Off)
    2. der Microsoft.Visualbasic - Namespace - GeneralImport
    Als anfänger kannst du die Begriffe (Namespace, GeneralImport, Option Strict) nicht verstehen, daher einfach machen, was die Vids vorturnen.
    Oder steig um auf c#, da gibts den Müll garnet.

    Pardasus schrieb:

    "Strict Off"
    Option Strict Off | On kannst Du an 3 verschiedenen Stellen vorgeben:
    1. In einer VB.NET-Quelldatei als oberste Zeile, da wird die Projekteinstellung für genau diese Datei überschrieben.
    2. Studio => Projekt => Eigenschaften => Kompilieren, da wird die Einstellung für das aktuelle Projekt gemacht.
    3. Studio => Extras => Optionen => Projekte und Projektmappen => VB-Standard, da wird die Einstellung für alle neu erstellten Projekte zur efault-Einstellung gemacht.
    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!