Я столкнулся с проблемой, когда я пытаюсь добавить несколько пустых строк в таблицу данных перед печатью формы для использования.
У меня возникла проблема, пытаясь понять, куда мне нужно поместить код добавьте строки в сетку данных, чтобы они были добавлены и захвачены до того, как пользователь нажмет на печать. Меня беспокоит то, что я не добавляю строки в нужном месте до того, как будет сделан снимок экрана, однако код для добавления строк запускается до того, как будет реализован код для скрытия кнопок, однако кнопки удаляются, а строки не добавляются в фактическое напечатанное изображение.
Если это не ясно, надеюсь, эти изображения будут иметь больше смысла. На данный момент я не уверен, почему скрытые кнопки захватываются, но добавленные строки не создаются, когда на основе кода создается впечатление, что строки добавляются до того, как кнопки скрыты.
Спасибо.
Вот изображение до того, как пользователь нажмет на печать
Вот изображение после того, как пользователь нажмет на печать
А вот что на самом деле напечатано
А вот и этот код, который снимает экран
Private Sub CaptureScreen()
Dim myGraphics As Graphics = Me.CreateGraphics()
Dim s As Size = Me.Size
If dgvReceive.Rows.Count < 27 Then
Dim rowstoadd As Integer = 0
rowstoadd = 27 - dgvReceive.Rows.Count
dgvReceive.Rows.Add(rowstoadd)
End If
If MemoryImage IsNot Nothing Then
MemoryImage.Dispose()
End If
MemoryImage = New Bitmap(s.Width, s.Height, myGraphics)
For Each btn As Button In Me.Controls.OfType(Of Button)
btn.Visible = False
Next
dgvReceive.ClearSelection()
lblTitle.Select()
Me.FormBorderStyle = FormBorderStyle.None
Dim memoryGraphics As Graphics = Graphics.FromImage(MemoryImage)
memoryGraphics.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, s)
Me.FormBorderStyle = FormBorderStyle.Sizable
For Each btn As Button In Me.Controls.OfType(Of Button)
btn.Visible = True
Next
End Sub