Строки, добавленные в таблицу данных, которые не были захвачены при захвате экрана - PullRequest
0 голосов
/ 15 января 2020

Я столкнулся с проблемой, когда я пытаюсь добавить несколько пустых строк в таблицу данных перед печатью формы для использования.

У меня возникла проблема, пытаясь понять, куда мне нужно поместить код добавьте строки в сетку данных, чтобы они были добавлены и захвачены до того, как пользователь нажмет на печать. Меня беспокоит то, что я не добавляю строки в нужном месте до того, как будет сделан снимок экрана, однако код для добавления строк запускается до того, как будет реализован код для скрытия кнопок, однако кнопки удаляются, а строки не добавляются в фактическое напечатанное изображение.

Если это не ясно, надеюсь, эти изображения будут иметь больше смысла. На данный момент я не уверен, почему скрытые кнопки захватываются, но добавленные строки не создаются, когда на основе кода создается впечатление, что строки добавляются до того, как кнопки скрыты.

Спасибо.

Вот изображение до того, как пользователь нажмет на печать Before Print

Вот изображение после того, как пользователь нажмет на печать During Print

А вот что на самом деле напечатано Actual Printed

А вот и этот код, который снимает экран

    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...