Probleme beim Rename einer Form

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

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

    Probleme beim Rename einer Form

    Hi,

    ich habe hier ein Problem,dass mich schon einige Zeit erheblich nervt: Ich möchte eine Form im Designer umbenennen. Dazu rechts-klicke ich die Form im Projektmappen Explorer, wähle Umbenennen ... und vergebe einen neuen Namen.

    Das klappt auch meistens. Aber ab und zu bekomme ich eine Fehlermeldung.(s. Anhang)

    Ich habe keine Ahnung was ich da jetzt korrigieren soll oder was ich falsch gemacht habe !

    Meine Umgehung: ich schließe das Projekt ohne zu speichern, mach es wieder auf und lebe halt mit dem Namen der Form. Das ist aber - sagen wir mal - auf Dauer nicht so ganz befriedigend.:)

    Kann mir jemand sagen, wie ich eine Form ohne diese Fehlermeldung renamen kann ?

    LG
    Peter
    Bilder
    • s 2019-10-29 09-44-387.jpg

      176,87 kB, 1.486×988, 81 mal angesehen
    @Peter329 Ganz einfach:
    Der Umbenennungs-Mechanismus fordert, dass Deine Klasse, die mit dem Dateinamen übereinstimmen soll, die erste Klasse in der Datei ist.
    In Deiner Datei FormX.vb befindet sich im Quelltext oberhalb von Class FormX eine weitere (Hilfs-)Klasse.
    Schiebe diese Klasse ans Ende dieser Datei und feddich.
    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!
    Danke RfG ...!

    Mit deinem Hinweis verstehe ich jetzt endlich was da los ist !

    Die hier in Frage stehende Form ist super einfach ... die enthält genau EINE Klasse. Mit "Verschieben" ist da erst mal nix !

    Tatsächlich wurde der Klassenname beim Rename BEIBEHALTEN ! Und damit verstehe ich jetzt die Fehlermeldung Dank deiner Nachhilfestunde ! :)

    Aber warum klappt das manchmal und manchmal eben nicht !

    Ganz einfach: die Form muss VOR dem Rename im Designer geöffnet werden. Dann wird die Klasse mit umbenannt. Ist sie nicht offen, dann bleibt der Name erhalten und es kracht !

    Ich würde das - unbedarft wie ich nun mal bin - für einen Fehler der IDE halten ... aber da bin ich leidenschaftslos und lasse mich auch gern eines Besseren belehren. Denn jetzt weiß ich ja, was zu tun ist !

    DANKE RfG ... :)

    LG
    Peter

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

    Peter329 schrieb:

    Ist sie nicht offen, dann bleibt der Name erhalten und es kracht !
    Das hab ich eben mal probiert mit einem elementaren WinForm-Projekt und ich kann Deine These nicht bestätigen.
    Hast Du die Form ggf. einen weiteren Namespace gepackt?
    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!
    Nein ... die Form ist "stinknormal" ... ich verstehe das auch nicht ... wenn die Form im Designer geöffnet ist kann man zusehen, wie sich der Name der Klasse beim Rename ändert ! Weiß der Teufel was da in meinem Fall schief läuft, wenn die Form nicht geöffnet ist !

    Aber wie schon gesagt, das Problem habe ich nicht zum ersten Mal ! Na ja ... wenn ich die Sache auf diese Weise im Griff habe, bin ich erst mal zufrieden.
    @Peter329 Liegt die Form im Default-Verzeichnis des Programms?
    Bei C# wird der Namespace einer Klasse um das aktuelle Unterverzeichnis erweitert, wenn man da drin eine Klasse anlegt, in VB.NET nicht.
    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!
    @ChrisBo Willkommen im Forum. :thumbup:
    Gute Feststellung, aber in seinem Studio ist der Entwurfs-Tab selektiert.
    @Peter329 Kann es sein, dass die Datei FormX.Designer.vb nicht zum Projekt gehört?
    Kann es sein, dass das Projekt zum Zeitpunkt der Umbenennung nicht kompiliert 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!

    RodFromGermany schrieb:

    @Peter329 Kann es sein, dass die Datei FormX.Designer.vb nicht zum Projekt gehört?


    nein ... alles was angezeigt wird, gehört auch zum Projekt, insbesondere die fragliche Form frmSetLastMsg

    RodFromGermany schrieb:

    Kann es sein, dass das Projekt zum Zeitpunkt der Umbenennung nicht kompiliert hat?


    Das wäre eine Möglichkeit ... ich probiere das mal aus !

    Peter329 schrieb:

    insbesondere die fragliche Form frmSetLastMsg
    Das Icon im Projekt-Explorer ist nicht das Icon einer Form.
    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!
    Jau .. in meinem ersten Screenshot, sieht die Form so aus wie ein "Modul" ... aber das ist NACH dem dem Rename Versuch entstanden.

    Inzwischen hab ich das Dinges erfolgreich umbenannt ... und da erscheint dann wieder das "richtige" Icon. Ohne dass ich am Source Code irgend etwas geändert hätte. Der neue Klassenname wurde vom Rename ersetzt. (s. Anhang)

    Ich habe das Problem nicht mehr nachstellen können ! Mist !

    Normalerweise würde ich da jetzt sagen "da haste irgendwelchen Blödsinn gebacken" und das als Kollateralschaden abhaken. Aber ...

    ... aber das ist eben nicht das ERSTE Mal, dass ich mit einem simplen Rename in verschiedenen anderen durchaus hausbackenen Projekten auf genau die gleiche Weise gescheitert bin ! Irgendwie hat das also schon Methode. Ich weiß halt nicht, woran das liegt !

    Sollte ich wirklich der erste Mensch auf diesem Planeten sein, der diese Problem mit dem Rename im VS 2015 hat ? :)

    LG
    Peter
    Bilder
    • s 2019-10-30 15-50-342.jpg

      155,49 kB, 1.514×1.003, 44 mal angesehen

    Peter329 schrieb:

    Ich weiß halt nicht, woran das liegt !
    Möglicherweise an Compilerfehlern, die Du ja nun wohl gefixt hast.
    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!
    Du weißt gar nicht wie ungern ich dir widerspreche ... :)

    Aber ... das Projekt war vollkommen fehlerfrei ... und ist auch gelaufen. Der Rename war eine der letzten Aktionen die ich in diesem Projekt durchführen wollte. Möglicherweise habe ich vor dem Rename ein bissl Kosmetik betrieben ... aber es gab KEINE Syntax Fehlermeldungen. Da bin ich mir sicher ...

    Ok .. wir diskutieren im luftleeren Raum .. ich versuche mal ein Testprojekt zu generieren, wo ich diesen Fehler gezielt provozieren kann ... dann melde ich mich wieder.

    Vielen Dank, dass ihr euch mit meinem vertrackten Problem befasst habt !

    LG
    Peter
    Gut, VS15 habe ich nicht, sondern nur VS19, konnte da aber das Problem auch nicht nachstellen. Der Rename klappt bei mir, auch wenn Fehler im Code sind. Vielleicht liegt es am VS. Ist VS19 eine Option für Dich?
    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.