/*
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
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
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
///
/// The main entry point for the application.
///
[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;
}
}
}