Я создаю приложение в vb.net. У меня есть элемент управления datagridview в моей форме VB. Мне нужно просмотреть его в окне printpreview с содержимым в нем. У меня есть другие элементы управления, такие как метки и текстовые поля в форме, и я могу просмотреть все в printpreview. В случае с контролем Datagridview у меня есть рабочий код printpreview, который я получил из сети. Моя проблема в том, что мне нужно изменить позиции x и y элемента управления datagridview. С помощью следующего кода элемент управления datagridview отображается над другими элементами управления. Я не знаю, как это сделать в этом коде. Пожалуйста, помогите мне. Мне нужно изменить позиции x и y DataGridView, как указано в приведенном ниже коде (50 и 225). e.Graphics.DrawString (Label7.Text, Label7.Font, Brushes.Black, 50, 225)View Datagridview в окне предварительного просмотра окна
Код, который я использовал для отображения gridview, приведен ниже.
Код:
Dim ColumnCount As Integer = DataGridView1.ColumnCount Dim ROWCOUNT As Integer = DataGridView1.RowCount
Dim CellTopPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Top
For Row = 0 To RowCount - 2
Dim CellLeftPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Left
For Cell = 0 To ColumnCount - 1
Dim CellValue As String = DataGridView1.Rows(Row).Cells(Cell).Value.ToString()
Dim CellWidth = DataGridView1.Rows(Row).Cells(Cell).Size.Width + 10
Dim CellHeight = DataGridView1.Rows(Row).Cells(Cell).Size.Height
Dim Brush As New SolidBrush(Color.Black)
e.Graphics.DrawString(CellValue, New Font("arial", 9), Brush, CellLeftPos, CellTopPos)
e.Graphics.DrawRectangle(Pens.Black, CellLeftPos, CellTopPos, CellWidth, CellHeight)
CellLeftPos += CellWidth
Next
CellTopPos += DataGridView1.Rows(Row).Cells(0).Size.Height
Next
Спасибо ... Если я использую этот код, могу ли я указать положение d контроль atagridview в окне предварительного просмотра? –
Я нашел решение самостоятельно, я установил 240 (вверху) и -45 (слева) в качестве позиции datagridview. Код: дим CellTopPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Top + 240 для строки = 0 Для ROWCOUNT - 2 дим CellLeftPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Left - 45 - --------------------------------------- В любом случае, благодаря Имрану Али Хану за его время ... –