Es tut mir leid, ich war ein wenig unklar (ich war nicht sicher, ob es unten-alligned oder unten angedockt oder was auch immer, so dass ich diesen Teil weggelassen).
Aber trotzdem habe ich es herausgefunden. Es scheint, dass die CellPainting
Ereignis an die Zellgrenzen eingeschränkt isnt, so dass Sie einfach die Zelle umgebende Rechteck bewegen kann, wie folgt aus:
Rectangle^ newRect = gcnew Rectangle(
e->CellBounds.X,
DataGridView->Bounds.Bottom-e->CellBounds.Y, // this is the moving part
e->CellBounds.Width,
e->CellBounds.Height
);
Es gibt einige kleinere Änderungen in Betracht gezogen werden (wenn der unteren Bildlaufleiste sichtbar ist, die DataGridView
Grenzen), aber der Code fängt den Punkt ein.
aus der Ferne auf das Problem der Suche sicher funktioniert der Trick;)
Edit: Ja in der Tat, dies zieht die Zellen anstößt, aber es macht auch einige flippige Effekte auf vertikale/horizontale Scrollen und Fenster Fokusänderung . Und ja, keine Header-Zellen. Zurück zum Zeichenbrett.
Gibt es Spaltenüberschriften? Wo sollten sie sein? – xyz
Ich würde sie an der Spitze behalten. –