Hallo zusammen,
kann mir jemand helfen meine Seitenansicht und mein Druck zeigen immer nur ein leeres Blatt, verzweifel daran noch. Hier mein Code Danke für die Hilfe
Code
Option Strict On
Imports System.Drawing.Printing
Imports System.IO
Imports System.Text
Public Class frmNotizen
Const Anwendungstitel As String = "Notizen"
Private Datei As String
Dim mFontGröße As Single = 10.0F
Dim mFont As New Font("Arial", mFontGröße, FontStyle.Regular)
Private mIndex As Integer
Private msInfo(10) As String
Private Sub mnuSpeichernUnter_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles mnuSpeichernUnter.Click
With dlgDateiSpeichern
.AddExtension = True 'Dateierweiterung anfügen
.CreatePrompt = True 'Nachfrage bei neuer Datei
.DefaultExt = ".rtf" 'Standarderweiterung
.DereferenceLinks = True 'Verknüpfung auflösen
'Dateifilter: rtf-, Text- und Alle Dateien
.Filter = "Richtext (*.rtf)|*.rtf|Text (*.txt)|*.txt| Alle Dateien (*.*)|*.*"
'Anfangsverzeichnis
.InitialDirectory = "C:\VBDN\Dokumente"
.OverwritePrompt = True 'Nachfrage bei Überschreiben
.RestoreDirectory = True 'Anfangsverzeichnis wiederherstellen
.Title = "Speichern unter:" 'Dateinamen auf korrekte Zeichen überprüfen
.ValidateNames = True
End With
If dlgDateiSpeichern.ShowDialog = Windows.Forms.DialogResult.OK Then
Datei = dlgDateiSpeichern.FileName
If Datei.EndsWith(".rtf") Then
rtfNotizen.SaveFile(Datei, RichTextBoxStreamType.RichText)
Else
rtfNotizen.SaveFile(Datei, RichTextBoxStreamType.PlainText)
End If
rtfNotizen.Modified = False
Text = Anwendungstitel & "-" & Datei
End If
End Sub
Private Sub mnuSpeichern_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles mnuSpeichern.Click
If Len(Datei) Then 'Dateiname bereits zugewiesen
If Datei.EndsWith("rtf") Then
Me.rtfNotizen.SaveFile(Datei)
Else
Me.rtfNotizen.SaveFile(Datei, RichTextBoxStreamType.PlainText)
End If
Else
mnuSpeichernUnter_Click(sender, e)
End If
rtfNotizen.Modified = False
Text = Anwendungstitel & "-" & Datei
End Sub
Private Sub rtfNotizen_TextChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles rtfNotizen.TextChanged
If Not Text.EndsWith("*") Then Text &= "*"
End Sub
Private Sub Einlesen(ByVal obj As Object, ByVal e As PrintPageEventArgs)
Dim g As Graphics = e.Graphics
Dim br As New SolidBrush(Color.Black)
Dim p As New Pen(Color.Black, 10)
Dim rbegrenzung As Rectangle = e.MarginBounds
Dim sfmt As New StringFormat()
mFont = New Font(mFont.Name, mFontGröße, mFont.Style)
Dim szumbrechen As SizeF
Dim izeichen As Integer
Dim izeilen As Integer
Dim posY As Integer = 10 + rbegrenzung.Y
For mIndex = mIndex To msInfo.getupperbound(0)
szumbrechen = New SizeF( _
g.MeasureString(msInfo(msIndex), _
mFont, _
g.MeasureString(msInfo(mIndex), _
mFont, _
New SizeF(CSng(Math.Floor(CDbl(rBegrenzung.Width))), _
CSng(Math.Floor(CDbl(rBegrenzung.Height - mFont.Height)))), _
sfmt, _
iZeichen, _
iZeilen))
If posY + (izeilen) * mfont.height >= rbegrenzung.Bottom Then
mIndex -= 1
Exit For
End If
g.DrawString(msInfo(mIndex), _
mfont, br, _
New RectangleF(rbegrenzung.Left, _
posY, _
szumbrechen.Width, _
szumbrechen.Height), _
sfmt)
posY = posY + izeilen + mfont.height
Next
If mindex < msInfo.getupperbound(0) Then
e.HasMorePages = True
mindex += 1
Else
e.HasMorePages = False
mindex = 0
End If
End Sub
Private Sub mnuDrucken_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuDrucken.Click
Dim Druckdokument = New PrintDocument
Druckdokument.DocumentName = "Druckdokument"
AddHandler Druckdokument.PrintPage, AddressOf Einlesen
Druckdokument.Print()
End Sub
Private Sub mnuNeu_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles mnuNeu.Click
If rtfNotizen.Modified Then
Dim s As String = "Der Inhalt wurde geändert." & vbCrLf _
& "Wollen Sie die Datei schließen ohne zu speichern? "
If MessageBox.Show(s, Anwendungstitel, _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Exclamation, _
MessageBoxDefaultButton.Button2) _
= Windows.Forms.DialogResult.No Then
Exit Sub
End If
End If
rtfNotizen.Clear()
rtfNotizen.Modified = False
Datei = ""
Text = Anwendungstitel & "-" & "Unbenannt"
End Sub
Private Sub mnuÖffnen_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuÖffnen.Click
Dim datei As String
Dim zeile As String
With Me.dlgDateiÖffnen
If (.ShowDialog() = Windows.Forms.DialogResult.OK) Then
datei = .FileName
If (datei.EndsWith("txt")) Then
Dim fs As New StreamReader(datei, Encoding.GetEncoding(1252))
zeile = fs.ReadLine
Dim i As Integer
While Not zeile Is Nothing
If i = msInfo.GetUpperBound(0) Then
ReDim Preserve msInfo(msInfo.GetUpperBound(0) + 10)
End If
msInfo(i) = zeile
i += 1
zeile = fs.ReadLine
End While
End If
End If
End With
Invalidate()
End Sub
Private Sub mnuBeenden_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles mnuBeenden.Click
Close()
End Sub
Private Sub frmNotizen_FormClosing( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) _
Handles Me.FormClosing
If rtfNotizen.Modified Then
Dim s = "Der Inhalt wurde geändert." & vbCrLf _
& "Wollen Sie die Datei schließen ohne zu speichern? "
If MessageBox.Show(s, Anwendungstitel, _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Exclamation, _
MessageBoxDefaultButton.Button2) _
= Windows.Forms.DialogResult.No Then
e.Cancel = True
End If
End If
End Sub
Private Sub mnuSchriftart_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuSchriftart.Click
With dlgSchriftart
.Font = rtfNotizen.SelectionFont
.Color = rtfNotizen.SelectionColor
.ShowApply = True 'Schaltfläche Übernehmen anzeigen
.ShowColor = True 'Schriftfarbe ermöglichen
End With
If dlgSchriftart.ShowDialog = Windows.Forms.DialogResult.OK Then
With rtfNotizen
.SelectionFont = dlgSchriftart.Font
.SelectionColor = dlgSchriftart.Color
End With
End If
End Sub
Private Sub mnuHintergrundfarbe_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuHintergrundfarbe.Click
If dlgFarbe.ShowDialog = Windows.Forms.DialogResult.OK Then
rtfNotizen.BackColor = dlgFarbe.Color
End If
End Sub
Private Sub dlgSchriftart_Apply(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles dlgSchriftart.Apply
With rtfNotizen
.SelectionColor = dlgSchriftart.Color
.SelectionFont = dlgSchriftart.Font
End With
End Sub
Private Sub tspMenü_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles tspDateiNeu.Click, _
tspÖffnen.Click, _
tspSpeichern.Click, _
tspSpeichernUnter.Click, _
tspDrucken.Click, _
tspBeenden.Click, _
tspFont.Click, _
tspHintergrundfarbe.Click
Select Case sender.name
Case "tspDateiNeu" : mnuNeu_Click(sender, e)
Case "tspÖffnen" : mnuÖffnen_Click(sender, e)
Case "tspSpeichern" : mnuSpeichern_Click(sender, e)
Case "tspSpeichernUnter" : mnuSpeichernUnter_Click(sender, e)
Case "tspDrucken" : mnuDrucken_Click(sender, e)
Case "tspBeenden" : mnuBeenden_Click(sender, e)
Case "tspFont" : mnuSchriftart_Click(sender, e)
Case "tspHintergrundfarbe" : mnuHintergrundfarbe_Click(sender, e)
End Select
End Sub
Private Sub cmnuFormat_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles _
cmnuSchriftart.Click, _
cmnuHintergrundfarbe.Click
Select Case sender.name
Case "cmnuSchriftart" : mnuSchriftart_Click(sender, e)
Case "cmnuHintergrundfarbe" : mnuHintergrundfarbe_Click(sender, e)
End Select
End Sub
Private Sub frmNotizen_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles Me.Load
Datei = ""
Text = Anwendungstitel & "-Unbenannt"
End Sub
Private Sub mnuSeiteEinrichten_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuSeiteeinrichten.Click
pdlgSeiteeinrichten.ShowDialog()
End Sub
Private Sub mnuSeitenansicht_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuSeitenansicht.Click
pdlgSeitenansicht.ShowDialog()
End Sub
Private Sub pdlgSeitenansicht_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles pdlgSeitenansicht.Load
With pdlgSeitenansicht
.Left = Width + Location.X
.Top = Location.Y
.Width = 600
.Height = 600
End With
End Sub
End Class
Alles anzeigen