/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System.Drawing.Printing; using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; //Need Printing namespace using System.Drawing.Printing; namespace PrinterCaps1 { public class PrinterCaps1 : System.Windows.Forms.Form { private System.ComponentModel.Container components = null; public PrinterCaps1() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { // // PrinterCaps1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 266); this.Name = "PrinterCaps1"; this.Text = "Printer Caps"; this.Paint += new System.Windows.Forms.PaintEventHandler(this.PrinterCaps1_Paint); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new PrinterCaps1()); } private void PrinterCaps1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { PrinterSettings pSettings = new PrinterSettings(); Font printFont = new Font("Arial", 10); //Position int nTextPosY = 0; int nTextPosX = 5; int nHeight = (int)printFont.GetHeight(e.Graphics); foreach(string sPtr in PrinterSettings.InstalledPrinters) { //pSettings.PrinterName = sPtr; pSettings.PrinterName = "BadName"; //if(pSettings.IsValid) //{ e.Graphics.DrawString(sPtr, printFont,Brushes.Black, nTextPosX, nTextPosY + 5); e.Graphics.DrawString("Can Duplex: " + pSettings.CanDuplex.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight)); e.Graphics.DrawString("Is Default: " + pSettings.IsDefaultPrinter.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*2)); e.Graphics.DrawString("Is Plotter: " + pSettings.IsPlotter.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*3)); e.Graphics.DrawString("Landscape Angle: " + pSettings.LandscapeAngle.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*4)); e.Graphics.DrawString("Maximum Copies: " + pSettings.MaximumCopies.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*5)); e.Graphics.DrawString("Maximum Page: " + pSettings.MaximumPage.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*6)); e.Graphics.DrawString("Minimum Page: " + pSettings.MinimumPage.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*7)); e.Graphics.DrawString("Supports Color: " + pSettings.SupportsColor.ToString(), printFont,Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight*8)); nTextPosY = nTextPosY + ((5 + nHeight*8) + nHeight); //} } return; } } }