我现在用c#做了一个小软件,是某餐厅的软件系统,不过遇到了点问题,怎么调用打印机来打印你购买的物品和价格。请给点代码参考。谢谢。

解决方案 »

  1.   

    VS2008提供了System.Printing,你自己看看吧。
      

  2.   

    using System;
    using System.IO;
    using System.Drawing;
    using System.Drawing.Printing;
    using System.Windows.Forms;
     public class PrintingExample : System.Windows.Forms.Form 
     {
         private System.ComponentModel.Container components;
         private System.Windows.Forms.Button printButton;
         private Font printFont;     int i;
         TextBox textBox1;    public PrintingExample() : base() 
        {
           // The Windows Forms Designer requires the following call.
           InitializeComponent();
        }    // The Click event is raised when the user clicks the Print button.
        private void printButton_Click(object sender, EventArgs e) 
        {
                  i = 0;
                  printFont = new Font("Arial", 10);
                  PrintDocument pd = new PrintDocument();
                  pd.PrintPage += new PrintPageEventHandler
                     (this.pd_PrintPage);
                  pd.Print();
        }    // The PrintPage event is raised for each page to be printed.
        private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
        {
           float linesPerPage = 0;
           float yPos = 0;
           int count = 0;
           float leftMargin = ev.MarginBounds.Left;
           float topMargin = ev.MarginBounds.Top;
           string line = null;       // Calculate the number of lines per page.
           linesPerPage = ev.MarginBounds.Height / 
              printFont.GetHeight(ev.Graphics);       // Print each line of textBox1
           while(count < linesPerPage && i < textBox1.Lines.Length)
           {
              line = textBox1.Lines[i++];
              yPos = topMargin + (count * 
                 printFont.GetHeight(ev.Graphics));
              ev.Graphics.DrawString(line, printFont, Brushes.Black, 
                 leftMargin, yPos, new StringFormat());
              count++;
           }       // If more lines exist, print another page.
           if(line != null)
              ev.HasMorePages = true;
           else
              ev.HasMorePages = false;
        }    // The Windows Forms Designer requires the following procedure.
        private void InitializeComponent() 
        {
           textBox1           = new TextBox();
           textBox1.Parent    = this;
           textBox1.Text      = "ABCD";
           textBox1.Multiline = true;
           textBox1.Width     = 400;
           textBox1.Height    = 100;
           
           
           this.components = new System.ComponentModel.Container();
           this.printButton = new System.Windows.Forms.Button();       this.ClientSize = new System.Drawing.Size(504, 381);
           this.Text = "Print Example";       printButton.ImageAlign = 
              System.Drawing.ContentAlignment.MiddleLeft;
           printButton.Location = new System.Drawing.Point(32, 110);
           printButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
           printButton.TabIndex = 0;
           printButton.Text = "打印文本框的内容";
           printButton.Size = new System.Drawing.Size(136, 40);
           printButton.Click += new System.EventHandler(printButton_Click);       this.Controls.Add(printButton);
        }    // This is the main entry point for the application.
        public static void Main(string[] args) 
        {
           Application.Run(new PrintingExample());
        }
     }
      

  3.   

    private System.ComponentModel.Container components;
         private System.Windows.Forms.Button printButton;
         private Font printFont;     int i;
         TextBox textBox1;    public PrintingExample() : base() 
        {
           // The Windows Forms Designer requires the following call.
           InitializeComponent();
        }    // The Click event is raised when the user clicks the Print button.
        private void printButton_Click(object sender, EventArgs e) 
        {
                  i = 0;
                  printFont = new Font("Arial", 10);
                  PrintDocument pd = new PrintDocument();
                  pd.PrintPage += new PrintPageEventHandler
                     (this.pd_PrintPage);
                  pd.Print();