Zeilenhöhe in Datagridview mit Grafik Spalte

  • VB.NET
  • .NET 4.5

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Peter329.

    Zeilenhöhe in Datagridview mit Grafik Spalte

    Hi ...

    ich habe eine kleine Anwendung mit der ich Textbausteine über eine DataGridView zusammen stellen kann.

    Wenn ich einen Baustein ausgewählt habe, dann erscheint vor ein weißes Dreieck. Ist der Baustein nicht ausgewählt, fehlt das Dreieck.

    Das Dreieck ist eine kleine Grafik. Es gibt also zwei Spalten: eine für die Grafik und eine für den Text des Bausteins. (s. Anhang 1)

    Soweit so gut.

    Allerdings bestimmt die Grafik die Mindesthöhe der Zeile ! Und das ist blöde, denn wenn ich den Baustein abwähle, dann verschwindet das Dreieck und die Höhe der Zeile wird verringert. Ich habe zur Demontration mal die erste Zeile abgewählt und einen Screenshot angehängt (s. Anhang 2). Wie man sieht ist der Text jetzt nach oben verrutscht.

    Ich habe versucht über RowTemplate.Height die Zeilenhöhe einzustellen. Aber das hilft leider nicht. Derzeit verwende ich ImageLayout.Zoom ... aber das hilft genauso wenig wie ImageLayoutStretch.

    Vielleicht sollte ich erwähnen, dass ich AutosizeRowMode=AllCells verwende, damit die Textbausteine in mehreren Zeilen angezeigt werden.

    Wie kann ich denn erreichen, dass die Grafik die Zeilenhöhe nicht verändert ? Muss ich dazu etwa die Grafik ändern ?

    Ich hoffe, ich habe mein Problem verständlich machen können.

    LG
    Peter
    Bilder
    • s 2019-12-03 10-34-256.jpg

      24,77 kB, 432×363, 12 mal angesehen
    • s 2019-12-03 10-35-044.jpg

      23,95 kB, 432×363, 12 mal angesehen

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

    Das wird aber durch den AutoSizeRowsMode übergangen. Zumindest bei meinem Versuch. Daher muss der deaktiviert werden oder die Grafik verkleinert werden oder die Höhen selbst berechnen und setzen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Peter329 schrieb:

    dann verschwindet das Dreieck und die Höhe der Zeile wird verringert.
    Verwende zwei gleich große Bilder.
    Eines mit und eines ohne Dreieck, die Du je nachdem anzeigst.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ok ... das war wohl so auch zu erwarten ... dass man das so nicht einstellen kann.

    Aber RFG hat mich dann doch auf eine kolossal einfache Idee gebracht ... das weiße Dreieck war nämlich ursprünglich ein schwarzes Dreieck ... und jetzt ratet mal, was ich künftig auf schwarzem Hintergrund anzeigen werde, wenn der Textblock nicht selektiert ist. :)

    Danke an die Ratgeber, die meine Probleme wie immer gut verstanden haben 1

    LG
    Peter