Метод DrawToBitmap
захватит графику, нарисованную в событии Paint
, и все вложенные элементы управления. Если он отсутствует, он не вложен прямо или косвенно. Вот как это, вероятно, произошло:
Поведение дизайнера Panels
и PictureBoxes
составляет разных.
Panels
, как GroupBoxes
, TabPages
и еще несколько находятся управления контейнеров.
Это означает, что любой элемент управления перетаскивании на них с помощью мыши получает вложенную в них.
PictureBox
является не Container, как, скажем, Button
или Label
..
Чтобы гнездо ваш DataGridView
в PictureBox
у вас есть выбор
- сдвинув его там с клавиатура (!)
- гнездо в коде ())
ли проверить успешность клавиатуры образом, перемещая PictureBox
, чтобы увидеть, если DGV
перемещается вместе с ним ..
Update:
Если вы гнездо DGV
в PictureBox
, который сам вложен в Panel
, все будет хорошо, и результат будет выглядеть так же, как вы видите.
Однако, если гнездо какDGV
и PictureBox
в Panel
и просто позволить им пересекаться, странная ошибка появится: многократное дублирование управления рисуется в обратном, см here for a post и ссылка об этом проблема, которая documented
управления внутри контейнера осуществляется в обратном порядке.
но, очевидно, все еще ошибка.
Проверьте иерархию элементов управления, чтобы увидеть, действительно ли 'DataGridView' является дочерним элементом в' Panel'. –
или 'dataGrid1.Parent.DrawToBitmap' и обрезка – Slai