Aracılığıyla paylaş


Nasıl yapılır: Windows Forms'ta Bir Kullanıcının Bilgisayarına Bağlanan Yazıcıları Seçme

Kullanıcılar genellikle yazdırılacak varsayılan yazıcıdan başka bir yazıcı seçmek ister. Kullanıcıların, bileşeni kullanarak o anda yüklü olanlar arasından bir yazıcı seçmesini PrintDialog sağlayabilirsiniz. PrintDialog Bileşen aracılığıyla, DialogResult bileşenin PrintDialog değeri yakalanır ve yazıcıyı seçmek için kullanılır.

Aşağıdaki yordamda, varsayılan yazıcıya yazdırılacak bir metin dosyası seçilir. Daha PrintDialog sonra sınıf örneği oluşturulur.

Yazıcı seçmek ve ardından bir dosya yazdırmak için

  1. Bileşeni kullanarak kullanılacak yazıcıyı PrintDialog seçin.

    Aşağıdaki kod örneğinde, işlenen iki olay vardır. İlkinde, bir Button denetimin ClickPrintDialog olayı, sınıf örneği oluşturulur ve kullanıcı tarafından seçilen yazıcı özelliğinde DialogResult yakalanır.

    İkinci olay olan PrintPage bileşenin PrintDocument olayı, belirtilen yazıcıya örnek bir belge yazdırılır.

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click  
       Dim PrintDialog1 As New PrintDialog()  
       PrintDialog1.Document = PrintDocument1  
       Dim result As DialogResult = PrintDialog1.ShowDialog()  
    
       If (result = DialogResult.OK) Then  
         PrintDocument1.Print()  
       End If
    
    End Sub  
    
    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage  
       e.Graphics.FillRectangle(Brushes.Red, New Rectangle(500, 500, 500, 500))
    End Sub  
    
    private void button1_Click(object sender, System.EventArgs e)  
    {  
       PrintDialog printDialog1 = new PrintDialog();  
       printDialog1.Document = printDocument1;  
       DialogResult result = printDialog1.ShowDialog();  
       if (result == DialogResult.OK)  
       {  
          printDocument1.Print();  
       }  
    }  
    
    private void printDocument1_PrintPage(object sender,
    System.Drawing.Printing.PrintPageEventArgs e)  
    {  
       e.Graphics.FillRectangle(Brushes.Red,
         new Rectangle(500, 500, 500, 500));  
    }  
    
    private:  
       void button1_Click(System::Object ^ sender,  
          System::EventArgs ^ e)  
       {  
          PrintDialog ^ printDialog1 = gcnew PrintDialog();  
          printDialog1->Document = printDocument1;  
          System::Windows::Forms::DialogResult result =
             printDialog1->ShowDialog();  
          if (result == DialogResult::OK)  
          {  
             printDocument1->Print();  
          }  
       }  
    private:  
       void printDocument1_PrintPage(System::Object ^ sender,  
          System::Drawing::Printing::PrintPageEventArgs ^ e)  
       {  
          e->Graphics->FillRectangle(Brushes::Red,  
             Rectangle(500, 500, 500, 500));  
       }  
    

    (Visual C# ve Visual C++) Olay işleyicisini kaydetmek için formun oluşturucusunda aşağıdaki kodu yerleştirin.

    this.printDocument1.PrintPage += new  
       System.Drawing.Printing.PrintPageEventHandler  
       (this.printDocument1_PrintPage);  
    this.button1.Click += new System.EventHandler(this.button1_Click);  
    
    this->printDocument1->PrintPage += gcnew  
       System::Drawing::Printing::PrintPageEventHandler  
       (this, &Form1::printDocument1_PrintPage);  
    this->button1->Click += gcnew  
       System::EventHandler(this, &Form1::button1_Click);  
    

Ayrıca bkz.