Open File Dialog - Filter ComboBox - String wird nicht komplett angezeigt

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Open File Dialog - Filter ComboBox - String wird nicht komplett angezeigt

    Hallo,
    habe da ein Problem mit der Stringlänge die im Filter angezeigt wird.

    VB.NET-Quellcode

    1. OFD1.Filter = "Portable Network Graphics|*.png"


    Bei nicht angeklickter Filter-ComboBox sieht man nur: Portable Network Graphics (*.p

    Gibt es eine Möglichkeit die Weite der ComboBox einzustellen?
    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)
    Soweit ich weiß ist die Breite der Combobox nur insofern manipulierbar, als dass sie indirekt von der Breite des gesamten Dialogs abhängig ist. Vekleinerst du also den OpenFileDialog auf das mögliche Minimum, bleibt demnach nicht viel Platz.
    Man dürfte also nur auf dem Weg, den Dialog insgesamt breiter zu machen, das Problem in den Griff bekommen. Allerdings weiß ich grad aus dem Kopf nicht, welche Möglichkeiten dafür existieren. Im Zweifel gehen aber Win32-Funktionen, die das Fenster manipulieren, immer.
    Weltherrschaft erlangen: 1%
    Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
    Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
    Danke.
    @Steppenpferd Es ist bekannt, dass der neue OFD Macken hat.
    Spiel mal mit der Property .AutoUpgradeEnabled vom OpenFileDialog.
    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 habe damit schon rumhantiert.
    Der OFD wechselt auch die Filter, je nach dem ob Bilder direkt oder über ein Profil-File geladen werden.
    Dabei wird ein kurzer Filtername für die Profil-Files bzw. der lange Filtername für die PNG's verwendet.
    Ändert aber auch nichts an der weite der Filter-Combobox.
    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)
    @Steppenpferd Bei .AutoUpgradeEnabled = True Breite ist fix, da kannst Du nix machen.
    Bei .AutoUpgradeEnabled = False ist sie variabel, Du musst sie allerdings selbst mit der Maus ziehen.!
    Da allerdings der OFD eine Component nicht aber ein Control ist, kannst Du die Breite vorher nicht festlegen.
    Vielleicht lässt sich da was machen mit API.SetWindowPos(..), allerdings braucht der ein Window-Handle, und das bekommst Du frühestens nach .ShowDialog().
    Aber:
    Warum schreibst Du OFD1.Filter = "Portable Network Graphics|*.png"?
    Bei mit stünde da ein OFD1.Filter = "PNG Files|*.png".
    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:

    Bei mit stünde da ein OFD1.Filter = "PNG Files|*.png".


    Na endlich schreibt das mal einer. Bei JPG Dateien würde man das doch auch nicht aus schreiben... Zumal Otto-Normal-User eh nicht weiß was "Portable Network Graphics" ist.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Wenn er da "Portable Networks Graphics" stehen haben will, ist das sein gutes Recht.
    In meinen bevorzugten Malprogramm steht auch bei JPG "JPEG - JFIF Compliant (*.jpg, *.jif, *.jpeg)", was übrigens sogar länger ist als der Text zu PNG.

    @Topic: Wenn der .NET OpenFileDialog da Macken hat, ist das natürlich unschön. Ist mir seltsamerweise noch nie bewusst aufgefallen. Ich achte nachher mal drauf. Aber es bestünde ja immer noch die Möglichkeit, den OpenFileDialog selbst mit API-Hilfsmitteln darzustellen. Ist dann zwar etwas aufwändiger, der Mehraufwand hält sich aber in Grenzen.

    Nachtrag: Ah, jetzt seh ich das Problem. Beim neuen FileDialog steht der Filter rechts vom Eingabefeld für Dateinamen. Beim alten API- bzw. VB6-Dialog war er darunter, da konnte bzw. "musste" er sich in der Breite anpassen.

    PS: @Rod: Lies doch mal endlich die Threads, bevor du dich an ihnen beteiligst. Auch hier schlägst du wieder Maßnahmen vor, die bereits - hier sogar vom TE - angesprochen waren (SetWindowPos). Das ist mir bereits wiederholt aufgefallen.
    Weltherrschaft erlangen: 1%
    Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
    Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
    Danke.

    Arby schrieb:

    hier sogar vom TE - angesprochen waren (SetWindowPos)
    Dann ist Dir ganz bestimmt auch aufgefallen, dass bei mir zu SetWindowPos() Zusatzinformationen stehen, die marginal über das Nennen des Wortes hinausgehen. ;)
    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!