/
XtraReport1.vb
49 lines (45 loc) · 2.11 KB
/
XtraReport1.vb
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
Imports System
Imports System.Drawing
Imports DevExpress.XtraPrinting
Namespace WindowsFormsApplication1
Partial Public Class XtraReport1
Inherits DevExpress.XtraReports.UI.XtraReport
Public Sub New()
InitializeComponent()
AddHandler PrintingSystem.AfterMarginsChange, AddressOf PrintingSystem_AfterMarginsChange
AddHandler PrintingSystem.PageSettingsChanged, AddressOf PrintingSystem_PageSettingsChanged
End Sub
Private Sub PrintingSystem_AfterMarginsChange(ByVal sender As Object, ByVal e As DevExpress.XtraPrinting.MarginsChangeEventArgs)
Convert.ToInt32(Math.Round(e.Value))
Select Case e.Side
Case DevExpress.XtraPrinting.MarginSide.Left
Margins = New DevExpress.Drawing.DXMargins(e.Value, Margins.Right, Margins.Top, Margins.Bottom)
CreateDocument()
Case DevExpress.XtraPrinting.MarginSide.Right
Margins = New DevExpress.Drawing.DXMargins(Margins.Left, e.Value, Margins.Top, Margins.Bottom)
CreateDocument()
Case DevExpress.XtraPrinting.MarginSide.All
Margins = (TryCast(sender, DevExpress.XtraPrinting.PrintingSystemBase)).PageSettings.Margins
CreateDocument()
Case Else
End Select
End Sub
Private Sub PrintingSystem_PageSettingsChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim pageSettings As XtraPageSettingsBase = DirectCast(sender, PrintingSystemBase).PageSettings
PaperKind = pageSettings.PaperKind
Landscape = pageSettings.Landscape
Margins = New DevExpress.Drawing.DXMargins(pageSettings.LeftMargin, pageSettings.RightMargin, pageSettings.TopMargin, pageSettings.BottomMargin)
CreateDocument()
End Sub
Private Sub AdjustControls()
Dim newWidth As Single = PageWidth - Margins.Left - Margins.Right
Dim newHeight As Single = PageHeight - Margins.Top - Margins.Bottom - PageHeader.HeightF - PageFooter.HeightF
xrPictureBox1.SizeF = New SizeF(newWidth, newHeight)
xrLabel1.WidthF = newWidth
xrLabel2.WidthF = newWidth
End Sub
Private Sub XtraReport1_BeforePrint(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.BeforePrint
AdjustControls()
End Sub
End Class
End Namespace