Focusproblem nach dem Laden eines Projektes

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Focusproblem nach dem Laden eines Projektes

    Hallo zusammen,

    ich habe mit Visual Studio 2017 Community Edition folgendes beobachtet:
    Wenn ich kein Projekt geöffnet habe, jedoch ein vorhandenes lade, wird mir ― wenn ich es im Code-Editor verlassen habe ― der Code-Editor wieder angezeigt. Soweit, so normal.
    Wenn ich dann aber vom Code-Editor in den Designer wechsle und dort ein CE anwähle, scheint VS gedanklich noch im Code-Editor zu sein. Denn wenn ich versuche, mir die CE-Properties anzeigen zu lassen, ist das Properyfenster leer. Und wenn ich [Entf] drücke, wird nicht das CE gelöscht, sondern Text im Code-Editor. Dies geschieht auch, wenn ich nach dem Laden des Projekts 10 Sekunden nichts mache und auch nach dem Wechseln in den Designer ebenfalls 10 Sekunden warte. Also ist schon mal auszuschließen, dass ich es zu eilig habe.
    Vielleicht liegt es an meinem derzeit verwendeten MS Surface 2 Pro. Vielleicht an VS 2017. Wer hat noch das Problem und wie kann es von Anfang an behoben werden, da es nach mehrmaligem Wechsel Editor<->Designer dann irgendwann so klappt, wie es soll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Na toll. Da plage ich mich wochenlang mit dem Problem rum und was passiert dann? Keine 24 Stunden, nachdem ich dieses Thema erstellt habe, gibt es ein VS-Update (26430.15), was das Problem behebt. X/
    Mein Feedback an MS scheint vielleicht gewirkt zu haben.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    wieso Ironie?
    Ich hab auch die Erfahrung gemacht, dass MS auf Feedback hin sein Produkt verbessert.
    Nur sehr selten zwar, und natürlich nur in gut begründeten Fällen, und oft genug leider auch nicht (und wohl noch öfter glücklicherweise nicht) - aber tatsächlich funktioniert deren Feedback-Mechanismus, und erbringt Verbesserungen.
    Oder auch nicht.
    Schau Dir mal z.B. das DateTimePickerControl an.
    Generationen von Programmierern haben auf Inkonsistenzen bei der visuallen Darstellung und Konfiguration, LowLevel-Inheritance, fehlende Nullable-Fähigkeit und v.a.m. hingewiesen, und das seit dem ersten Visual Studio.
    Bis heute: nixe
    Natürlich wird hie und da verbessert, aber eben NICHT konsequent.
    Joa - das ist schon bisserl mindestens ein 4er im Lotto, dass einem seiner Vorschlag da tatsächlich hochgerated und am Ende auch umgesetzt wird - also schon nicht ganz unfrustrierend.

    Aber sieh auch mal die andere Seite, wie schwierig das sein muss, an sonem Mega-Komplex wie's Framework iwas zu verändern: ZB ein verbesserter DateTimePicker muss abwärtskompatibel zu allem möglichen sein, was bislang damit gemacht worden sein mag - das ist super-mega-heikel, da dran rumzufummeln.
    Vergleichsweise einfach wäre, stattdessen einen ganz neuen zu bauen - aber iwann fahren dann da 4 - 5 DTPs herum inne Tollbox...

    ErfinderDesRades schrieb:

    muss abwärtskompatibel zu allem möglichen sein

    Ist das so?
    Warum nicht mit Framework 7.3 die alten Zöpfe abschneiden, un den alten DTP ersatzlos streichen? Und ab FW 4.7 halt den neuen einführen, z.B. unter dem Namen DateTimePickerExt oder DateTimePicker47 oder so?
    Stimmt schon, aber dann müsste ich beim Fahren eines Porsche Cayenne aucxh ein Peitsche mitnehmen, da ja "früher" bei Pferd und Wagen diese vonnöten war ...
    ok, das wird nun, glaub' ich, doch zu sehr off topic. Obwohl, diese Ansichtssachen sind immer interessant.
    Ok, ich sehe, dass das Problem trotz anfänglicher Euphorie meinerseits doch nicht erledigt ist. Zumindest für mich.
    Kann denn jemand das Problem nachvollziehen? Hab anbei noch ein Beispielvideo gemacht, in dem ich zeige, dass (wenn man ein Projekt vor dem Schließen in einer Codedatei offen hat) nach dem Laden der Wechsel in den Designer ein Problem mit sich bringt. Die CE-Modifikationssymbolleiste am oberen Rand fehlt, die Toolbox ist leer, genauso die Property-Box. Und wenn ich auf [Entf] drücke, wird nicht das ausgewählte CE gelöscht, sondern das Zeichen nach der Caretposition in der Codedatei, obwohl jene Datei offiziell nicht den Focus haben dürfte. Wechsle ich jedoch danach wieder in die Designer-Datei, läuft alles. Somit bisherige Lösung: Projekt öffnen, Code-Datei->Designer-Datei->Code-Datei->Designer-Datei->jetzt läuft alles. Ist aber nervig.

    Es geht mir nur darum, ob es ein Systemfehler bei mir ist oder ein VS-Problem.
    btw: Noch kleiner konnte ich das Videoarchiv nicht auf die Schnelle kriegen.

    Mikrosaft Surface Pro 2
    Win10 mit allen Updates
    VS 2017 CE mit allen Updates
    Dateien
    • VS2017 Fehler.zip

      (811,87 kB, 128 mal heruntergeladen, zuletzt: )
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Es ist ein wenig frustrierend, da ich selbst nach einem Jahr noch nicht weiß, ob das jetzt ein Problem nur bei mir ist - was ich aber auf mehreren PCs habe und auch bei VS2019-Preview besteht - oder ob viele andere das Problem auch haben, aber es keinen stört.

    Daher bitte nochmal @all, die das lesen. Nehmt Euch mal bitte die 2 Minuten und gebt bescheid, ob Ihr folgenden Bug auch habt:
    • WinFoms-Projekt in VS öffnen, 1 Tab mit dem WinForms-Designer, welches ein CE, z.B. einen Button beinhaltet, ein Tab mit einer Code-Datei. (Teilbild 1&2)
    • zum Code-Datei-Tab wechseln
    • Projekt schließen
    • selbes Projekt öffnen, es öffnet sich in der Code-Datei
    • Rüberwechseln zum Winforms-Designer-Tab, das CE anwählen, Entfernen auf der Tastatur drücken.


    In Teilbild 3 sieht man, dass nach dem Projektöffnen im Vergleich zu Bild 2 die Zusatzsymbolleiste zur Anordnung der CEs unter dem Visual-Studio-Hauptmenü fehlt. Außerdem wird nicht der Button gelöscht, obwohl er selektiert ist, sondern stattdessen Text in der Codedatei (Bild 4). Dieser Fokus-Bug zeigt sich noch an anderen Stellen, aber so kann er am schnellsten erkannt werden.

    Habt Ihr diesen Bug auch oder läuft alles normal (Button wird gelöscht, Symbolleiste zur Anordnung taucht sofort auf).
    Achtung! Wechselt man nochmal zur Code-Datei und wieder zum WinForms-Designer, ist alles wieder ok!

    Vielen Dank!
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    die Zusatzsymbolleiste zur Anordnung der CEs unter dem Visual-Studio-Hauptmenü fehlt
    Diese Symbolleiste taucht bei mir nie auf, deswegen fällt es mir auch nicht auf, wenn sie verschwindet.
    Wahrscheinlich habe ich sie einfach nicht aktiviert.

    VaporiZed schrieb:

    wird nicht der Button gelöscht, obwohl er selektiert ist, sondern stattdessen Text in der Codedatei
    Das wiederum kann ich nicht nachvollziehen.
    Bei mir wird der Button gelöscht und der Code bleibt.

    Visual Studio Professional 2017 Version 15.6.6
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @VaporiZed Bei mir auch.
    VS2010, VS2013, VS2017.
    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!
    Es tut mir Leid, aber auch bei mir funktioniert alles einwandfrei.
    Habe extra die Leiste dazu eingeblendet, weil ich sie sonst nicht nutze.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    Schade. Ich dachte, dass ich nach Euren Antworten den Hinweis hätte, dass es an meinen VS-Einstellungen liegt und daher auf allen PCs auftritt, weil die Settings ja (zumindest tw.) im Konto gespeichert und auf andere PCs somit übertragen wird. Aber auch nix. Das Zurücksetzen auf Standard-Einstellungen hat es sogar noch besser gezeigt, da im WinForms-Designer das Eigenschaftenfester standardmäßig eingeblendet wird. Und da wird dann bei der o.g. Konstellation nach dem Projekt-Laden beim 1. Wechsel von Code auf Designer nix angezeigt, obwohl da die Form-/Button-Eigenschaften angezeigt werden müssten, was beim 2. Wechsel dann endlich auch geschieht.

    Sei's drum. Vielen Dank. Ich schließe daher diesen Thread ab. Das Problem ist zwar nicht vom Tisch, aber es ist wohl ein Problem bei meinem System.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed Wenn Du einen "nackten" PC hast oder an einen herankommst (auf dem noch kein Studio lief), installier mal das Studio dort und vergleich dann die Einstellungen.
    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!
    Auch wenn @RodFromGermany schon mehrere Versionen getestet hat, ich habe noch auf dem festen PC VisualStudio installiert, allerdings Version 2010. Ich Programmiere dort zwar nicht mehr, aber ich werde es für dich dort mal testen. Irgendeinem Grund für dieses Verhalten muss es ja geben.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    @VaporiZed

    Gegeben: Windows 10 Pro (64 bit), Visual Studio Community 2017, Test Anwendung "frmMain" mit einem Datagridview und einem Button.

    1. Tab frmMain.vb(Code)
    2. Tab frmMain.vb[Entwurf]

    Ich setze den Cursor irgendwo im Tab (Code) und schließe das Projekt.
    Danach öffne ich das Projekt wieder und wechsle zum Tab [Entwurf]. Setze den Focus auf den Button (und genau hier ist mir aufgefallen, dass man rechts im 'Eigenschaften' Fenster keine Einstellungsmöglichkeiten hat) und drücke entfernen. Der Button wird nicht entfernt.
    Zurück zum Tab (Code) und dementsprechend wo der Cursor gesetzt war, wird im Code rechts vom Cursor der Text gelöscht.

    LG Maffi
    Selbst in VS2017 Version 15.9.11 besteht das Problem weiterhin. Aber 3 Kreuze: In VS2019 (16.1.0 Pre 1.0) wurde das Problem, welches mich so lange nervte, endlich behoben.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.