----->>> Emeğe saygı arkadaşlar . Teşekkür butonunu unutmayalım .. Kendi anlatımımdır.
Visual Studio , içerisinde üç adet yazıcı işlemleri için diyalog kutusu barındırır ki bunlar PrintPreviewDialog, PageSetupDialog ve PrintDialog nesneleridir. Yazdıgımız uygulamayı kullanan* kişi, yazdıracağı dökümanı önizleme yapmak , sayfa ayarlarını ve yazıcının kendisini değiştirmek isterse bu araçlar yardımı ile *işlemleri çok rahat bir şekilde yapabilir.
PrintPreviewControl: Bu nesne, yazdıracağımız dokümanı ekranda önizleme olarak görmemizi sağlar.
PrintPreviewDialog: Bu nesne, baskı önizleme işlemlerini yapmamızı sağlar ve ayriyeten bazı ek özellikler içerir. Örneğin dokümanı ekranda büyütüp küçültmek,bir veya daha çok sayfayı görüntülemek gibi.
PageSetupDialog: Bu nesne dokümanın sayfa ayarlarını yapar. Örneğin Sayfanın yatay veya dikey olması, sağ ve sol boşluk ayarları gibi.
NOT : PrintPreviewDialog ayni zamanda içinde PrintPreviewControl bilesenini de barindirir. Yani PrintPreviewControlla yapabilecegimiz islemleri ve daha fazlasini PrintPreviewDialog da yapabiliriz.
Formumuza bir PrintD O C U M E N T bileşeni ekliyoruz ve Çalışma anında bir PreviewDialog oluşturarak isleme başlıyoruz ve PrintPreviewDialog nesnesini PrintD O C U M E N Te bağlıyoruz
Burada diyalog kutumuzun, tam ekran çıkmasını ve ilk görülen sayfanın birinci sayfa olmasını istiyoruz. Son satırda ise büyütme oranını (Zoom Size) seçiyoruz. (Yukarıdaki örnekte %100 olarak seçtik.)
Ekranda gözükecek sayfa sayısını ayarlamaktadır.
Bu kod parçasını da ekledikten sonra artık tam ekran bir baskı öznizleme ekranı karşımızda oluyor.
PageSetupDialog kontrolü, sayfa düzenlerini ayarlamamıza yarayan bir bileşendir. Bu kontrol, bize sayfa ayarlarını düzenlemek için kolay bir diyalog kutusu sağlar. Bu dialog kutusu ile kullanıcıya sayfa sınır ve marj ayarlarını ve yatay/dikey basım ayarlarını değiştirme imkanını tanırsınız.
Bu nesne, kendi içerisindeki PageSettings özelliği ile PrintD o c u m e n t ve PageSetupDialog nesnesinin sayfa ayarlarını içerir.
Formumuza bir PageSetupDialog bileşenini ve PrintD o c u m e n t bileşeni ekliyoruz.
Öncelikle daha önce olusturdugumuz PrintD o c u m e n t nesnesini PageSetupDialoga bagliyoruz
Bu şekilde artik yaptığımız değişiklikler dokümanımıza yansiyacaktır. Bu değişiklikleri yapabileceğimiz diyalog kutusunu nasıl ekrana getireceğimizi gösteren kod sudur:
PageSetupDialogun kodla degistirebilecegimiz bazi özellikleri vardır. Bu özellikler sayesinde hiç diyalog kutusunu ekrana getirmeden kodla yapacagimiz degisikliklerle istedigimiz ayarlarda çikti alabiliriz.
Çiktinin yatay çikmasini saglar
Çiktidan kaç kopya alacagimizi seçebiliriz.
Çiktinin kaçinci sayafadan baslayacagini seçmemizi saglar.
PrintDialog nesnesi ile printer ayarlarimiz görsel olarak yapmamizi saglayan bir diyalog kutusudur.
Kullanimi diger diyalog kutularinda oldugu gibidir. Öncelikle PrintD o c u m e n t nesnemizi baglamamiz gerekmektedir.
PrintDialog nesnesini formumuza ekliyoruz. Daha sonra D o c u m e n t özelligine aktif PrintD o c u m e n t nesnemizi atiyoruz.
PrintDialog nesnesine* PrintD o c u m e n ti bagladiktan sonra, artik bu diyalog penceresinde yapmis oldugumuz printer degisiklikleri ve diger özellikler yazicidan aldigimiz çiktiya yansiyacaktir. Asagida ki kodla diyalog penceresini ekrana çikartiyoruz.
Ayni PageSetupDialog1.PrinterSettings ayarlarinda oldugu gibi istedigimiz ayarlari kodlarla da kontrol edebiliyoruz.
Metin kutumuzun içeriğini yazıcıya aktarabilmek için,işlemimize başlarken formumuza yerleştirmiş olduğumuz "PrintD o c u m e n t" bileşeninin, "Graphics" nesnesinin "DrawString" metodunu kullanıyoruz, bu işlem için formumuzdaki "PrintD o c u m e n t kontrolünün "PrintPage" olayına aşağıdaki komut dizimini girmemiz gerekmektedir.
PRINTING
Visual Studio , içerisinde üç adet yazıcı işlemleri için diyalog kutusu barındırır ki bunlar PrintPreviewDialog, PageSetupDialog ve PrintDialog nesneleridir. Yazdıgımız uygulamayı kullanan* kişi, yazdıracağı dökümanı önizleme yapmak , sayfa ayarlarını ve yazıcının kendisini değiştirmek isterse bu araçlar yardımı ile *işlemleri çok rahat bir şekilde yapabilir.
PrintPreviewControl: Bu nesne, yazdıracağımız dokümanı ekranda önizleme olarak görmemizi sağlar.
PrintPreviewDialog: Bu nesne, baskı önizleme işlemlerini yapmamızı sağlar ve ayriyeten bazı ek özellikler içerir. Örneğin dokümanı ekranda büyütüp küçültmek,bir veya daha çok sayfayı görüntülemek gibi.
PageSetupDialog: Bu nesne dokümanın sayfa ayarlarını yapar. Örneğin Sayfanın yatay veya dikey olması, sağ ve sol boşluk ayarları gibi.
NOT : PrintPreviewDialog ayni zamanda içinde PrintPreviewControl bilesenini de barindirir. Yani PrintPreviewControlla yapabilecegimiz islemleri ve daha fazlasini PrintPreviewDialog da yapabiliriz.
PrintPreviewDialog Kontrolünün Kullanimi
Formumuza bir PrintD O C U M E N T bileşeni ekliyoruz ve Çalışma anında bir PreviewDialog oluşturarak isleme başlıyoruz ve PrintPreviewDialog nesnesini PrintD O C U M E N Te bağlıyoruz
Kod:
Dim preview As New PrintPreviewDialog
preview.D O C U M E N T = Me.PrintD O C U M E N T1
preview.WindowState = FormWindowState.Maximized
preview.PrintPreviewControl.StartPage = 0
preview.PrintPreviewControl.Zoom = 1.0
Burada diyalog kutumuzun, tam ekran çıkmasını ve ilk görülen sayfanın birinci sayfa olmasını istiyoruz. Son satırda ise büyütme oranını (Zoom Size) seçiyoruz. (Yukarıdaki örnekte %100 olarak seçtik.)
Kod:
preview.PrintPreviewControl.Columns = 2
Ekranda gözükecek sayfa sayısını ayarlamaktadır.
Kod:
preview.ShowDialog()
Bu kod parçasını da ekledikten sonra artık tam ekran bir baskı öznizleme ekranı karşımızda oluyor.
PageSetupDialog Kullanimi
PageSetupDialog kontrolü, sayfa düzenlerini ayarlamamıza yarayan bir bileşendir. Bu kontrol, bize sayfa ayarlarını düzenlemek için kolay bir diyalog kutusu sağlar. Bu dialog kutusu ile kullanıcıya sayfa sınır ve marj ayarlarını ve yatay/dikey basım ayarlarını değiştirme imkanını tanırsınız.
Bu nesne, kendi içerisindeki PageSettings özelliği ile PrintD o c u m e n t ve PageSetupDialog nesnesinin sayfa ayarlarını içerir.
Formumuza bir PageSetupDialog bileşenini ve PrintD o c u m e n t bileşeni ekliyoruz.
Öncelikle daha önce olusturdugumuz PrintD o c u m e n t nesnesini PageSetupDialoga bagliyoruz
Kod:
Me.PageSetupDialog1.D o c u m e n t = Me.PrintD o c u m e n t1
Bu şekilde artik yaptığımız değişiklikler dokümanımıza yansiyacaktır. Bu değişiklikleri yapabileceğimiz diyalog kutusunu nasıl ekrana getireceğimizi gösteren kod sudur:
Kod:
Me.PageSetupDialog1.ShowDialog()
PageSetupDialogun kodla degistirebilecegimiz bazi özellikleri vardır. Bu özellikler sayesinde hiç diyalog kutusunu ekrana getirmeden kodla yapacagimiz degisikliklerle istedigimiz ayarlarda çikti alabiliriz.
Kod:
PageSetupDialog1.PageSettings.Landscape =True
Çiktinin yatay çikmasini saglar
Kod:
PageSetupDialog1.PrinterSettings.Copies = 2
Çiktidan kaç kopya alacagimizi seçebiliriz.
Kod:
PageSetupDialog1.PrinterSettings.FromPage = 10
Çiktinin kaçinci sayafadan baslayacagini seçmemizi saglar.
PrintDialog Nesnesi
PrintDialog nesnesi ile printer ayarlarimiz görsel olarak yapmamizi saglayan bir diyalog kutusudur.
Kullanimi diger diyalog kutularinda oldugu gibidir. Öncelikle PrintD o c u m e n t nesnemizi baglamamiz gerekmektedir.
PrintDialog nesnesini formumuza ekliyoruz. Daha sonra D o c u m e n t özelligine aktif PrintD o c u m e n t nesnemizi atiyoruz.
Kod:
PrintDialog1.D o c u m e n t = Me.PrintD o c u m e n t1
PrintDialog nesnesine* PrintD o c u m e n ti bagladiktan sonra, artik bu diyalog penceresinde yapmis oldugumuz printer degisiklikleri ve diger özellikler yazicidan aldigimiz çiktiya yansiyacaktir. Asagida ki kodla diyalog penceresini ekrana çikartiyoruz.
Kod:
PrintDialog1.ShowDialog()
Ayni PageSetupDialog1.PrinterSettings ayarlarinda oldugu gibi istedigimiz ayarlari kodlarla da kontrol edebiliyoruz.
Metin kutumuzun içeriğini yazıcıya aktarabilmek için,işlemimize başlarken formumuza yerleştirmiş olduğumuz "PrintD o c u m e n t" bileşeninin, "Graphics" nesnesinin "DrawString" metodunu kullanıyoruz, bu işlem için formumuzdaki "PrintD o c u m e n t kontrolünün "PrintPage" olayına aşağıdaki komut dizimini girmemiz gerekmektedir.
Kod:
e.Graphics.DrawString(textbox1.text, New Font("Tahoma", 30, FontStyle.Bold ), Brushes.Black, 200, 200)
Kod:
Public Class Form1
Dim olcekdurumu As Boolean
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.OpenFileDialog1.Filter = "Resim Dosyalari|*.jpg"
Me.PageSetupDialog1.D o c u m e n t = Me.PrintD o c u m e n t 1
Me.PrintDialog1.D o c u m e n t = Me.PrintD o c u m e n t 1
Me.PrintPreviewDialog1.D o c u m e n t = Me.PrintD o c u m e n t 1
Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End Sub
Private Sub btn_baskıonizleme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_baskıonizleme.Click
Me.PageSetupDialog1.ShowDialog()
End Sub
Private Sub btn_printayar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_printayar.Click
Me.PrintDialog1.ShowDialog()
End Sub
Kod:
Private Sub Btn_ResimAc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ResimAc.Click
If Me.OpenFileDialog1.ShowDialog Then
Me.PictureBox1.Image = Image.FromFile(Me.OpenFileDialog1.FileName)
End If
If MessageBox.Show("Resim Ölçeklendirilsin mi?", "", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.OK Then
olcekdurumu = True
Else
olcekdurumu = False
End If
End Sub
Private Sub btn_yazdır_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_yazdır.Click
Me.PrintD o c u m e n t1.Print()
End Sub
Kod:
Private Sub PrintD o c u m e n t1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles Print********1.PrintPage
Dim y As Integer
If olcekdurumu = True Then
Dim rec As New Rectangle(100, 100, 100, 100)
e.Graphics.DrawImage(Me.PictureBox1.Image, rec)
y = 100 + 100
Else
Dim rec As New Rectangle(0, 0, Me.PictureBox1.Image.Width, Me.PictureBox1.Image.Height)
e.Graphics.DrawImage(Me.PictureBox1.Image, rec)
y = Me.PictureBox1.Image.Height
End If
e.Graphics.DrawString(Me.TextBox1.Text, Me.TextBox1.Font, Brushes.Black, 100, y)
End Sub
Private Sub btn_fontayar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_fontayar.Click
If Me.FontDialog1.ShowDialog Then
Me.TextBox1.Font = Me.FontDialog1.Font
End If
End Sub
End Class
Kod:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = Image.FromFile("C:\D o c u m e n ts and Settings\ozcan\Belgelerim\Resimlerim\ozcan.jpg")
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PrintPreviewDialog1.D o c u m e n t = PrintD o c u m e n t 1
End Sub
Private Sub ButtonYazdır_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim myprintresult As DialogResult
myprintresult = PrintDialog1.ShowDialog()
If myprintresult = DialogResult.OK Then
PrintD o c u m e n t1.Print()
End If
End Sub
Kod:
Private Sub ButtonOnizleme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PrintPreviewDialog1.ShowDialog()
End Sub
Private Sub ButtonCıkıs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
End
End Sub
Private Sub ButtonSyfaAyarları_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
PageSetupDialog1.ShowDialog()
End Sub
Kod:
Private Sub PrintD o c u m e n t 1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles Print********1.PrintPage
Dim font1 As Font = New Font("Times New Roman", 24, FontStyle.Underline)
Dim font2 As Font = New Font("Times New Roman", 12, FontStyle.Regular)
e.Graphics.DrawString("Çalışan Personel Bilgileri: ", font1, Brushes.Black, 150, 50)
e.Graphics.DrawLine(Pens.Black, 90, 100, 550, 100)
e.Graphics.DrawLine(Pens.Black, 90, 40, 550, 40)
e.Graphics.DrawString("Personelin Adı: " & TextBox1.Text, font2, Brushes.Black, 50, 140)
e.Graphics.DrawString("Personelin Soyadı: " & TextBox2.Text, font2, Brushes.Black, 50, 170)
e.Graphics.DrawString("Personelin İşe Giriş Tarihi: " & TextBox3.Text, font2, Brushes.Black, 50, 200)
e.Graphics.DrawString("Personelin Çalıştığı Birim: " & TextBox4.Text, font2, Brushes.Black, 50, 230)
e.Graphics.DrawString("Personelin Öğrenim Durumu: " & TextBox5.Text, font2, Brushes.Black, 50, 260)
e.Graphics.DrawString("Personelin Mezun Olduğu Okul: " & TextBox6.Text, font2, Brushes.Black, 50, 290)
e.Graphics.DrawString("Personelin Cep Telefonu: " & TextBox7.Text, font2, Brushes.Black, 50, 320)
e.Graphics.DrawString("Personelin E-Postası: " & TextBox8.Text, font2, Brushes.Black, 50, 350)
e.Graphics.DrawImage(PictureBox1.Image, 650, 50, 102, 124)
End Sub
End Class