Importare valori da classe esterna senza inherits

giovedì 12 febbraio 2009 - 23.32

ans66 Profilo | Junior Member

Avendo gia` importato PrintPreviewDialog tramite inherits non riesco a passare i valori Public nella Class InsTitolo alla Sub PrintDocument_PrintPage: non riesco proprio a capire come passare la classe all'interno della Sub

Imports System.Drawing

Public Class Miastampa
Inherits System.Windows.Forms.PrintPreviewDialog

Friend WithEvents PrintDialog As System.Windows.Forms.PrintDialog
Friend WithEvents PrintDocument As System.Drawing.Printing.PrintDocument
Private PrintPreviewDialog As System.Windows.Forms.PrintPreviewDialog
=================================================================================
Private Sub PrintDocument_PrintPage(ByVal sender As System.Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument.PrintPage
Dim inSTit As New WindowsApplication1.InsTitolo

Dim Fn As New System.Drawing.Font(inSTit.TipoFont, inSTit.GrandezzaFont, _ ''errore'
inSTit.StileFont)
e.Graphics.DrawString(inSTit.Titolo, Fn, inSTit.Colore, inSTit.x, inSTit.y) "errore"

End Sub

End Class
Class InsTitolo
Public TipoFont As String
Public GrandezzaFont As Integer
Public StileFont As System.Drawing.FontStyle
Public x As Single
Public y As Single
Public Colore As System.Drawing.Brush
Public Titolo As String
End Class

Jeremy Profilo | Guru

Ciao Ans66,
Non credo di aver capito bene la tua richiesta di aiuto.
Puoi spiegarti un pò meglio???
Magari, spiega meglio, quale è il tuo obbiettivo.

Facci sapere...
Ciao

ans66 Profilo | Junior Member

Grazie Jeremi per l'ennesimo aiuto,

Sto elaborando una classe nella quale ho importato PrintPreviewDialog con Inherits System.Windows.Forms.PrintPreviewDialog (anteprima). All'interno dell'anteprima voglio inserire una serie di cose fra cui: titolo, imaggini, ecc. Devo ovviamente passare alla Sub routine PrintDocument_PrintPage tutta un serie di valori relativi al titolo fra cui posizione x, y, tipo Font, ecc. La mia necessita` e` quella di creare una classe o Structure (una ad esempio per il Titolo) all'interno della quale vengono inserite una serie di variaibili Public. Il motivo per cui non iserisco le variabili all'interno di PrintDocument_PrintPage e` perche`, per esempio la posizione x e y e` diversa per Titolo o per imagine che seguira` poi a titolo, ecc. Il problema e` che quando passo i valori alla Classe o Structure Titolo e poi cerco di farli arrivare alla Sub PrintDocument_PrintPage ottengo sempre o nothing o zero il che vuol dire che nulla e` passato. Ti mostro come passo i valori e tutta la classe:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'INSERISCI TITOLO
Dim InPr As New WindowsApplication1.InsTitolo
InPr.x = 250
InPr.y = 50
InPr.TipoFont = "Arial"
InPr.GrandezzaFont = 18
InPr.StileFont = FontStyle.Bold
InPr.Colore = Brushes.Red
InPr.Titolo = "Ordine"

Dim InPr2 As New WindowsApplication1.Miastampa
InPr2.CaricaStampa()

'INSERISCI IMMAGINE


End Sub

Imports System.Drawing

Public Class Miastampa
Inherits System.Windows.Forms.PrintPreviewDialog

Friend WithEvents PrintDialog As System.Windows.Forms.PrintDialog
Friend WithEvents PrintDocument As System.Drawing.Printing.PrintDocument
Private PrintPreviewDialog As System.Windows.Forms.PrintPreviewDialog

Private Sub InitializeComponent()
Me.PrintDialog = New System.Windows.Forms.PrintDialog
Me.PrintDocument = New System.Drawing.Printing.PrintDocument
Me.SuspendLayout()
'
'PrintDialog1
'
Me.PrintDialog.UseEXDialog = True
'
'Class1
'
Me.ClientSize = New System.Drawing.Size(400, 300)
Me.Name = "Class1"
Me.ResumeLayout(False)

End Sub

Public Sub CaricaStampa()
PrintPreviewDialog = New System.Windows.Forms.PrintPreviewDialog
PrintDocument = New System.Drawing.Printing.PrintDocument

PrintPreviewDialog.Document = PrintDocument
PrintPreviewDialog.PrintPreviewControl.Zoom = 1
'PrintPreviewDialog1.ClientSize = _
'New System.Drawing.Size(1000, 650)
PrintPreviewDialog.WindowState = FormWindowState.Maximized
PrintPreviewDialog.UseAntiAlias = True
PrintPreviewDialog.ShowDialog()
End Sub

Private Sub PrintDocument_PrintPage(ByVal sender As System.Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument.PrintPage
Dim inSTit As New WindowsApplication1.InsTitolo

Dim Fn As New System.Drawing.Font(inSTit.TipoFont, inSTit.GrandezzaFont, _
inSTit.StileFont)
e.Graphics.DrawString(inSTit.Titolo, Fn, inSTit.Colore, inSTit.x, inSTit.y)

End Sub

End Class
Class InsTitolo
Public TipoFont As String
Public GrandezzaFont As Integer
Public StileFont As System.Drawing.FontStyle
Public x As Single
Public y As Single
Public Colore As System.Drawing.Brush
Public Titolo As String
End Class

Grazie davvero.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5