انتخاب پرينتر

سلام

من يك سوالي داشتم راجع به .net

فرض كنيد در ويندوز دو پرينتر A و B داريم كه فرضا پرينتر A پرينتر پيش فرض سيستم است

آيا امكاني در .net وجود دارد كه در سورس خود بگوييم با پرينتر A پرينت بگيرد يا با B

و يا پرينتر پيش فرض سيستم را از A به B و بالعكس تغيير دهيم؟

با تشكر
 

the_king

مدیرکل انجمن
در مثال زیر ابتدا لیست چاپگر ها در یک ListBox با نام listBox1 به نمایش در می آید، زمانی که کاربر یکی از چاپگر ها را انتخاب کرد
دکمه button1 فعال می شود که با کلیک کردن روی آن دکمه، صفحه ای به چاپگر مورد نظر ارسال می شود که در آن
متن نام چاپگر درج می شود.

تابع page_PrintPage تابعی است که چاپ در آن انجام می شود.
PrinterSettings.InstalledPrinters لیست چاپگر های موجود در سیستم است.
page.PrinterSettings.PrinterName نام چاپگری است که در هنگام چاپ page بکار می رود و می تواند یکی از عضو های
PrinterSettings.InstalledPrinters باشد، مثلا [0]PrinterSettings.InstalledPrinters اولین چاپگر لیست است.

کد:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Printing;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        void [B]page_PrintPage[/B](object sender, PrintPageEventArgs ev)
        {
            ev.Graphics.DrawString(ev.PageSettings.PrinterSettings.PrinterName, DefaultFont, Brushes.Black, 40, 40, new StringFormat());
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
            {
                listBox1.Items.Add(PrinterSettings.InstalledPrinters[i]);
            }
            button1.Enabled = false;
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            PrintDocument page = new PrintDocument();
            page.PrintPage += new PrintPageEventHandler(page_PrintPage);
            page.PrinterSettings.PrinterName = listBox1.Text;
            page.Print();
        }
    }
}
 

جدیدترین ارسال ها

بالا