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;
public class Form1 : Form {
private Font mainTextFont = new Font("Times New Roman", 14);
private Font subTextFont = new Font("Times New Roman", 12);
private PageSettings storedPageSettings;
public Form1() {
InitializeComponent();
}
private void PaintDocument(Graphics g) {
g.PageUnit = GraphicsUnit.Point;
g.DrawString("Simple Printing Sample",
this.mainTextFont,
Brushes.Black,
new Rectangle(10, 20, 180, 30));
g.DrawRectangle(Pens.Blue, new Rectangle(new Point(10, 100), new Size(100, 50)));
}
private void Form1_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
PaintDocument(g);
}
private void menuFilePageSetup_Click(object sender, EventArgs e) {
try {
PageSetupDialog psDlg = new PageSetupDialog();
if (this.storedPageSettings == null)
this.storedPageSettings = new PageSettings();
psDlg.PageSettings = this.storedPageSettings;
psDlg.ShowDialog();
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
protected void PrintPageEventHandler(Object obj, PrintPageEventArgs ev) {
Graphics g = ev.Graphics;
PaintDocument(g);
ev.HasMorePages = false;
}
private void menuFilePrint_Click(object sender, EventArgs e) {
try {
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(this.PrintPageEventHandler);
if (this.storedPageSettings != null)
pd.DefaultPageSettings = this.storedPageSettings;
PrintDialog dlg = new PrintDialog();
dlg.Document = pd;
DialogResult result = dlg.ShowDialog();
if (result == System.Windows.Forms.DialogResult.OK)
pd.Print();
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) {
try {
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(this.PrintPageEventHandler);
if (this.storedPageSettings != null)
pd.DefaultPageSettings = this.storedPageSettings;
PrintPreviewDialog dlg = new PrintPreviewDialog();
dlg.Document = pd;
dlg.ShowDialog();
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
private void InitializeComponent() {
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.menuFilePrintPreview = new System.Windows.Forms.ToolStripMenuItem();
this.menuFilePageSetup = new System.Windows.Forms.ToolStripMenuItem();
this.printPreviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuFilePrint = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuFilePrintPreview});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Size = new System.Drawing.Size(292, 25);
this.menuStrip1.Text = "menuStrip1";
this.menuFilePrintPreview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuFilePageSetup,
this.printPreviewToolStripMenuItem,
this.menuFilePrint});
this.menuFilePrintPreview.Name = "menuFilePrintPreview";
this.menuFilePrintPreview.Text = "File";
this.menuFilePageSetup.Name = "menuFilePageSetup";
this.menuFilePageSetup.Text = "Page Setup";
this.menuFilePageSetup.Click += new System.EventHandler(this.menuFilePageSetup_Click);
this.printPreviewToolStripMenuItem.Name = "printPreviewToolStripMenuItem";
this.printPreviewToolStripMenuItem.Text = "Print Preview";
this.printPreviewToolStripMenuItem.Click += new System.EventHandler(this.printPreviewToolStripMenuItem_Click);
this.menuFilePrint.Name = "menuFilePrint";
this.menuFilePrint.Text = "Print";
this.menuFilePrint.Click += new System.EventHandler(this.menuFilePrint_Click);
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Window;
this.ClientSize = new System.Drawing.Size(292, 268);
this.Controls.Add(this.menuStrip1);
this.MainMenuStrip = this.menuStrip1;
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
this.menuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem menuFilePrintPreview;
private System.Windows.Forms.ToolStripMenuItem menuFilePageSetup;
private System.Windows.Forms.ToolStripMenuItem printPreviewToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem menuFilePrint;
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}
Mouse action: left, right, middle button and cursor position
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class MainForm : System.Windows.Forms.Form
{
private System.ComponentModel.Container components;
public MainForm()
{
Top = 100;
Left = 75;
Height = 100;
Width = 500;
MessageBox.Show(Bounds.ToString(), "Current rect");
this.MouseUp += new MouseEventHandler(OnMouseUp);
this.MouseMove += new MouseEventHandler(OnMouseMove);
this.KeyUp += new KeyEventHandler(OnKeyUp);
InitializeComponent();
CenterToScreen();
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
MessageBox.Show("Disposing this Form");
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Size = new System.Drawing.Size(300,300);
this.Text = "Form1";
}
[STAThread]
static void Main()
{
Application.Run(new MainForm());
}
protected void OnMouseUp(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
MessageBox.Show("Left click!");
else if(e.Button == MouseButtons.Right)
MessageBox.Show("Right click!");
else if(e.Button == MouseButtons.Middle)
MessageBox.Show("Middle click!");
}
protected void OnMouseMove(object sender, MouseEventArgs e)
{
this.Text = "Current Pos: (" + e.X + ", " + e.Y + ")";
}
public void OnKeyUp(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyCode.ToString(), "Key Pressed!");
}
}
Subclass NativeWindow
using System;
using System.Drawing;
using System.Windows.Forms;
class CaptureLoss: Form
{
public static void Main()
{
Application.Run(new CaptureLoss());
}
public CaptureLoss()
{
Text = "Capture Loss";
CaptureLossWindow win = new CaptureLossWindow();
win.form = this;
win.AssignHandle(Handle);
}
protected override void OnMouseDown(MouseEventArgs mea)
{
Invalidate();
}
public void OnLostCapture()
{
Invalidate();
}
protected override void OnPaint(PaintEventArgs pea)
{
Graphics grfx = pea.Graphics;
if (Capture)
grfx.FillRectangle(Brushes.Red, ClientRectangle);
else
grfx.FillRectangle(Brushes.Gray, ClientRectangle);
}
}
class CaptureLossWindow : NativeWindow
{
public CaptureLoss form;
protected override void WndProc(ref Message message)
{
if (message.Msg == 533) // WM_CAPTURECHANGED
form.OnLostCapture();
base.WndProc(ref message);
}
}
Call ShowDialog() to display an OpenFileDialog
using System;
using System.Windows.Forms;
class MainClass {
static void Main(string[] args) {
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK) {
Console.WriteLine(dlg.FileName);
}
}
}
Set InitialDirectory
using System;
using System.Windows.Forms;
class MainClass {
static void Main(string[] args) {
OpenFileDialog dlg = new OpenFileDialog();
dlg.InitialDirectory = Application.StartupPath;
if (dlg.ShowDialog() == DialogResult.OK) {
Console.WriteLine(dlg.FileName);
}
}
}
Set CheckFileExists to true
using System;
using System.Windows.Forms;
class MainClass {
static void Main(string[] args) {
SaveFileDialog dlg = new SaveFileDialog();
dlg.CheckFileExists = true;
if (dlg.ShowDialog() == DialogResult.OK) {
Console.WriteLine(dlg.FileName);
}
}
}
Set Filter
using System;
using System.Windows.Forms;
class MainClass {
static void Main(string[] args) {
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Rich Text Files (*.rtf)|*.RTF|" +
"All files (*.*)|*.*";
if (dlg.ShowDialog() == DialogResult.OK) {
Console.WriteLine(dlg.FileName);
}
}
}

