Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows tabanlı uygulamaların metin yazdırması yaygındır. Graphics sınıfı, bir cihaza ekran veya yazıcı gibi nesneler (grafik veya metin) çizmek için yöntemler sağlar. Aşağıdaki bölümde, metin dosyasını yazdırma işlemi ayrıntılı olarak açıklanmaktadır. Bu yöntem, Office Word belgesi veya PDF dosyası gibi düz olmayan metin dosyalarını yazdırmayı desteklemez.
Uyarı
DrawText yöntemleri TextRenderer yazdırma için desteklenmez. Aşağıdaki kod örneğinde gösterildiği gibi, yazdırma amacıyla metin çizmek için her zaman DrawStringGraphics yöntemlerini kullanmalısınız.
Metni yazdırmak için
Visual Studio'da, Çözüm Gezgini bölmesinde, yazdırmak istediğiniz forma çift tıklayın. Bu eylem Görsel Tasarımcı'yi açar.
Araç Kutusuiçinden PrintDocument bileşenine çift tıklayarak onu forma ekleyin. Bu eylem, adlı
PrintDocumentbirprintDocument1bileşen oluşturur.Forma bir
Buttonekleyin veya zaten formda olan bir düğmeyi kullanın.Formun Görsel Tasarımcısı'nda düğmeyi seçin. Özellikler bölmesinde, Olay filtre düğmesini seçin ve ardından olay işleyicisi oluşturmak için
Clickolayına çift tıklayın.Clickolay kodu görünür olmalıdır. Olay işleyicisinin kapsamı dışında,stringToPrintadlı sınıfa özel bir dize değişkeni ekleyin.private string stringToPrint="";'Private PrintDocument1 As New PrintDocument() Private stringToPrint As StringClickolay işleyici koduna geri dönüp DocumentName özelliğini belgenin adına ayarlayın. Bu bilgiler yazıcıya gönderilir. Ardından, belge metni içeriğini okuyun vestringToPrintdizesinde depolayın. Son olarak, Print olayını yükseltmek için PrintPage yöntemini çağırın. yöntemiPrintaşağıdaki kodda vurgulanır:private void button1_Click(object sender, EventArgs e) { string docName = "testPage.txt"; string docPath = @"C:\"; string fullPath = System.IO.Path.Combine(docPath, docName); printDocument1.DocumentName = docName; stringToPrint = System.IO.File.ReadAllText(fullPath); printDocument1.Print(); }Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim docName As String = "testPage.txt" Dim docPath As String = "C:\" Dim fullPath As String = System.IO.Path.Combine(docPath, docName) PrintDocument1.DocumentName = docName stringToPrint = System.IO.File.ReadAllText(fullPath) PrintDocument1.Print() End SubFormun Görsel Tasarımcısı'na dönün ve
PrintDocumentbileşenini seçin. Özellikler bölmesinde Olay filtresini seçin ve olay işleyicisi oluşturmak içinPrintPageolayına çift tıklayın.PrintPage olay işleyicisinde, satır uzunluğunu ve sayfa başına satır sayısını hesaplamak için Graphics sınıfının PrintPageEventArgs özelliğini ve belge içeriğini kullanın. Her sayfa çizildikten sonra, son sayfa olup olmadığını kontrol edin ve buna göre HasMorePages'in
PrintPageEventArgsözelliğini ayarlayın.PrintPageolayı,HasMorePagesfalseolana kadar tetiklenir.Aşağıdaki kod örneğinde olay işleyicisi, "testPage.txt" dosyasının içeriğini formda kullanılan yazı tipinde yazdırmak için kullanılır.
private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { int charactersOnPage = 0; int linesPerPage = 0; // Sets the value of charactersOnPage to the number of characters // of stringToPrint that will fit within the bounds of the page. e.Graphics.MeasureString(stringToPrint, this.Font, e.MarginBounds.Size, StringFormat.GenericTypographic, out charactersOnPage, out linesPerPage); // Draws the string within the bounds of the page e.Graphics.DrawString(stringToPrint, this.Font, Brushes.Black, e.MarginBounds, StringFormat.GenericTypographic); // Remove the portion of the string that has been printed. stringToPrint = stringToPrint.Substring(charactersOnPage); // Check to see if more pages are to be printed. e.HasMorePages = (stringToPrint.Length > 0); }Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles PrintDocument1.PrintPage Dim charactersOnPage As Integer = 0 Dim linesPerPage As Integer = 0 ' Sets the value of charactersOnPage to the number of characters ' of stringToPrint that will fit within the bounds of the page. e.Graphics.MeasureString(stringToPrint, Me.Font, e.MarginBounds.Size, StringFormat.GenericTypographic, charactersOnPage, linesPerPage) ' Draws the string within the bounds of the page e.Graphics.DrawString(stringToPrint, Me.Font, Brushes.Black, e.MarginBounds, StringFormat.GenericTypographic) ' Remove the portion of the string that has been printed. stringToPrint = stringToPrint.Substring(charactersOnPage) ' Check to see if more pages are to be printed. e.HasMorePages = stringToPrint.Length > 0 End Sub
Ayrıca bakınız
.NET Desktop feedback