1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| Private Sub prnt_doc_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles prnt_doc.PrintPage
Dim wdth_lin As Single = 15 * 10 * 3.94
Dim hght_lin As Single = 26 * 10 * 3.94
Dim lft As Single = ((e.PageBounds.Width - wdth_lin) / 2) / 3.94
Dim tp As Single = 4 * 10
e.Graphics.PageUnit = GraphicsUnit.Millimeter
Dim strt As Single = 0
Dim wdth As Single = 15 * 10
Dim hght As Single = (Grid.RowCount + 1) * 10
Dim pns As New Pen(Color.Black, 0.6)
e.Graphics.DrawRectangle(pns, lft, tp, 153, hght)
pns.Width = 0.25
For ii As Integer = 1 To Grid.ColumnCount
Select Case ii
Case 1 : strt = strt + 2.8 * 10
Case 2 : strt = strt + 2.8 * 10
Case 3 : strt = strt + 2 * 10
Case 4 : strt = strt + 2.8 * 10
Case 5 : strt = strt + 2.8 * 10
End Select
e.Graphics.DrawLine(pns, lft + strt, tp, lft + strt, tp + hght)
Next
Dim er As Single = 5 * 10
For ii As Integer = 1 To Grid.RowCount + 1
e.Graphics.DrawLine(pns, lft, er, lft + wdth, er)
er = er + 1 * 10
Next
Dim strfrmt As New StringFormat(0, 1)
strfrmt.Alignment = StringAlignment.Center
strfrmt.LineAlignment = StringAlignment.Center
Dim fnt1 As New Font("Times New Roman", 3.5, FontStyle.Bold, GraphicsUnit.Millimeter)
Dim fnt2 As New Font("Mudir MT", 6, FontStyle.Bold, GraphicsUnit.Millimeter)
Dim txt As String
strt = 1.5 * 10
er = 4.5 * 10
' Grid.ColumnCount(-1)
For i As Integer = 0 To Grid.ColumnCount - 1 'Step -1
txt = Grid.Columns(i).HeaderText
e.Graphics.DrawString(txt, fnt1, Brushes.Black, lft + strt, er, strfrmt)
Select Case i
Case Grid.ColumnCount - 1 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 2 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 3 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 4 : strt = strt + 1.1 * 10 + 1.5 * 10
Case (Grid.ColumnCount - 5) : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 6 : strt = strt + 1.1 * 10 + 1.5 * 10
End Select
Next
er = 5.5 * 10
For i As Integer = 0 To Grid.RowCount - 1
strt = 2 * 10
For ii As Integer = 0 To Grid.ColumnCount - 1 'Step -1
txt = Grid.Item(ii, i).Value.ToString
e.Graphics.DrawString(txt, fnt1, Brushes.Black, lft + strt, er, strfrmt)
Select Case ii
Case Grid.ColumnCount - 1 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 2 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 3 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 4 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 5 : strt = strt + 1.1 * 10 + 1.5 * 10
Case Grid.ColumnCount - 6 : strt = strt + 1.1 * 10 + 1.5 * 10
End Select
Next
er = er + 1 * 10
Next
strt = (16 * 10) / 2
er = 2 * 10
txt = Label10.Text
e.Graphics.DrawString(txt, fnt2, Brushes.Black, lft + strt, er, strfrmt)
End Sub
'Private Sub btn_prev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_prev.Click
' prnt_prev.Document = prnt_doc
' prnt_prev.ShowDialog()
' End Sub
Private Sub btn_prnt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_prnt.Click
prnt_prev.Document = prnt_doc
prnt_prev.ShowDialog()
End Sub |
Partager