Hallo liebe Forums-Mitglieder,
habe über viele Jahre VB6 programmiert + seit ca. 2 Jahren VB.net, bin also (denke ich wenigstens) kein ganz so großes Dummerchen mehr - aber Überraschungen gibt's doch immer wieder...
Das Problem:
die Anwendung ist gegliedert in einen maximierten Karteireiter-Dialog, in dem in den Unter-Tabs jeweils als Haupt-Steuerelement ein DataGridView vorhanden ist. Füllen, resize etc. funktionieren problemlos. Seit dem Wochenende bin ich (stolzer) Besitzer eines großen Monitors (32 Zoll, 3840*2160 px) - und seither sehe ich das Problem: wenn ich die Form ("FormWindowState.Normal") über einen gewissen Punkt (bei ca. 2000px Breite) hinaus vergrößere, wird das DataGridView nicht mehr korrekt angezeigt: links von "diesem Punkt" ist alles OK, rechts davon "scheint der Hintergrund durch" (die Farbe der TabPage), der Inhalt des Grids wird "stotternd" angezeigt (kann's leider nicht besser ausdrücken...), während aber die Header-Zeile des Grids korrekt erweitert wird. Beim "FormWindowState.Maximized" dasselbe Bild.
Das/die Grids sind alle auf ".Dock = Fill" gesetzt. Abfangen des "frm_HauptForm_ResizeEnd"-Ereignisses und dort ein "Grid.Refresh()" oder "Me.Refresh" oder auch "Invalidate/Update" bringt nichts, auch nicht die "händische" Berechnung der korrekten Größe (unterhalb der ominösen 2000px funktioniert's...). Schiebe ich das Projekt auf einen Rechner mit kleinerer Auflösung (z.B. 1920*1440) und schiebe die Form "vorher" nach links und versuche, sie über eben ca. 2000px. zu vergrößern, dann bleibt die Formgröße bestehen, lässt sich also nicht erweitern.
Ist irgend jemandem im Forum bekannt, ob es da eine "hartcodierte" Grenze gibt? (Könnte es an der Grafikkarte liegen? - Kann ich mir nicht vorstellen.) Gibt es sonst (einstellbare Grenzen? (-> GridMaximumSize.Width/Height = 0, also unbegrenzt). Anbei 2 Screenshots vorher/nachher.
Ich doktere schon eine Weile an dem Problem herum + mir fällt da nix mehr ein - vielen Dank im Voraus für Ideen,
RotBär
habe über viele Jahre VB6 programmiert + seit ca. 2 Jahren VB.net, bin also (denke ich wenigstens) kein ganz so großes Dummerchen mehr - aber Überraschungen gibt's doch immer wieder...
Das Problem:
die Anwendung ist gegliedert in einen maximierten Karteireiter-Dialog, in dem in den Unter-Tabs jeweils als Haupt-Steuerelement ein DataGridView vorhanden ist. Füllen, resize etc. funktionieren problemlos. Seit dem Wochenende bin ich (stolzer) Besitzer eines großen Monitors (32 Zoll, 3840*2160 px) - und seither sehe ich das Problem: wenn ich die Form ("FormWindowState.Normal") über einen gewissen Punkt (bei ca. 2000px Breite) hinaus vergrößere, wird das DataGridView nicht mehr korrekt angezeigt: links von "diesem Punkt" ist alles OK, rechts davon "scheint der Hintergrund durch" (die Farbe der TabPage), der Inhalt des Grids wird "stotternd" angezeigt (kann's leider nicht besser ausdrücken...), während aber die Header-Zeile des Grids korrekt erweitert wird. Beim "FormWindowState.Maximized" dasselbe Bild.
Das/die Grids sind alle auf ".Dock = Fill" gesetzt. Abfangen des "frm_HauptForm_ResizeEnd"-Ereignisses und dort ein "Grid.Refresh()" oder "Me.Refresh" oder auch "Invalidate/Update" bringt nichts, auch nicht die "händische" Berechnung der korrekten Größe (unterhalb der ominösen 2000px funktioniert's...). Schiebe ich das Projekt auf einen Rechner mit kleinerer Auflösung (z.B. 1920*1440) und schiebe die Form "vorher" nach links und versuche, sie über eben ca. 2000px. zu vergrößern, dann bleibt die Formgröße bestehen, lässt sich also nicht erweitern.
Ist irgend jemandem im Forum bekannt, ob es da eine "hartcodierte" Grenze gibt? (Könnte es an der Grafikkarte liegen? - Kann ich mir nicht vorstellen.) Gibt es sonst (einstellbare Grenzen? (-> GridMaximumSize.Width/Height = 0, also unbegrenzt). Anbei 2 Screenshots vorher/nachher.
Ich doktere schon eine Weile an dem Problem herum + mir fällt da nix mehr ein - vielen Dank im Voraus für Ideen,
RotBär