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); } } }