Die Methode DrawToBitmap
erfasst die Grafiken, die im Paint
-Ereignis und allen verschachtelten Steuerelementen gezeichnet wurden. Wenn eines fehlt, ist es weder direkt noch indirekt verschachtelt. Hier ist, wie dies wohl passiert:
Der Designer Verhalten von Panels
und PictureBoxes
ist verschiedene.
Panels
, wie GroupBoxes
, TabPages
und ein paar mehr sind Containersteuer.
Dies bedeutet, dass jede Kontrolle, die Sie auf sie mit Ihrem Maus ziehenverschachtelte in ihnen bekommt.
PictureBox
ist kein Container, wie, sagen wir ein Button
oder ein Label
..
Um Nest Ihre DataGridView
in der PictureBox
Sie haben eine Auswahl von
- mit ihm dorthin zu ziehen die Tastatur (!)
- Schachteln in Code (
yourPBox1.Parent = yourPanel;
)
Sie den Erfolg der Tastatur Art und Weise testen, indem Sie die PictureBox
bewegen, um zu sehen, ob die DGV
bewegt sich mit ihm ..
Update:
Wenn Sie nisten die DGV
in der PictureBox
, die selbst in der Panel
verschachtelt ist, wird alles gut und das Ergebnis wird genau wie das, was Sie sehen.
Wenn Sie jedoch Nest beideDGV
und PictureBox
im Panel
und nur lassen sie sich überlappen, ein seltsamer Fehler angezeigt: Mehrere überlappende Kontrollen in Reverse gezogen werden, siehe here for a post und ein Link zu diesem Ausgabe, die documented
Controls ist im Inneren von Behältern in umgekehrter Reihenfolge wiedergegeben werden.
aber offensichtlich immer noch ein Fehler.
Überprüfen Sie die Steuerungshierarchie, um festzustellen, ob das 'DataGridView' tatsächlich ein untergeordnetes Element innerhalb des' Bereichs' ist. –
oder 'dataGrid1.Parent.DrawToBitmap' und crop – Slai