public class MyForm : System.Windows.Forms.Form{
public MyForm(){
Text = "Hello World";
}
public static void Main() {
System.Windows.Forms.Application.Run(new MyForm());
}
}
public class MyForm : System.Windows.Forms.Form{
public MyForm(){
Text = "Hello World";
}
public static void Main() {
System.Windows.Forms.Application.Run(new MyForm());
}
}
/*
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;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
namespace Wrox.ProWinProg.Chapter01.WinFormNonVS
{
public class frmLogin : System.Windows.Forms.Form
{
System.Windows.Forms.TextBox txtUser;
System.Windows.Forms.Button btnOK;
System.Windows.Forms.Button btnCancel;
public frmLogin()
{
txtUser = new System.Windows.Forms.TextBox();
txtUser.Location = new Point(30, 15);
txtUser.Size = new Size(250, 20);
txtUser.Text = "";
txtUser.Name = "txtUser";
this.Controls.Add(txtUser);
btnOK = new System.Windows.Forms.Button();
btnOK.Location = new Point(40,
(txtUser.Location.Y + txtUser.Size.Height + btnOK.Size.Height));
btnOK.Text="OK";
btnOK.Name="btnOK";
this.Controls.Add(btnOK);
btnCancel = new System.Windows.Forms.Button();
btnCancel.Location = new Point((this.Size.Width -
btnCancel.Size.Width) - 40,
(txtUser.Location.Y + txtUser.Size.Height + btnOK.Size.Height));
btnCancel.Text = "Cancel";
btnCancel.Name = "btnCancel";
this.Controls.Add(btnCancel);
this.Size = new Size(this.Size.Width, btnCancel.Location.Y +
btnCancel.Size.Height + 60);
btnCancel.Click += new System.EventHandler(btnCancelHandler);
btnOK.Click += new System.EventHandler(btnEventHandler);
}
private void btnEventHandler(object sender, System.EventArgs e)
{
MessageBox.Show(((Button)sender).Name);
}
private void btnCancelHandler(object sender, System.EventArgs e)
{
MessageBox.Show("The second handler");
}
[STAThread]
static void Main()
{
Application.Run(new frmLogin());
}
}
}
WinFormVS.zip( 19 k)
/*
GDI+ Programming in C# and VB .NET
by Nick Symmonds
Publisher: Apress
ISBN: 159059035X
*/
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace CustomWindow
{
///
public class CustomWindow : System.Windows.Forms.Form
{
#region Class Local Storage
private GraphicsPath m_WindowPath;
private GraphicsPath m_path;
private Point m_StartPoint;
private Point m_LastPoint;
private bool m_Drawing;
private Rectangle InvalidRect;
private Cursor DrawCursor;
#endregion
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.MenuItem menuItem1;
private System.Windows.Forms.MenuItem mnuExit;
private System.Windows.Forms.MenuItem menuItem3;
private System.Windows.Forms.MenuItem menuItem4;
private System.Windows.Forms.MenuItem menuItem5;
private System.Windows.Forms.MenuItem menuItem2;
private System.Windows.Forms.MenuItem menuItem6;
private System.Windows.Forms.MenuItem menuItem7;
private System.Windows.Forms.MenuItem menuItem8;
private System.Windows.Forms.MenuItem menuItem9;
private System.Windows.Forms.TreeView PathTree;
private System.Windows.Forms.Panel P1;
private System.Windows.Forms.Splitter TreeSplitter;
private System.Windows.Forms.MenuItem menuItem10;
private System.Windows.Forms.Splitter PanelSplitter;
private System.Windows.Forms.RichTextBox DebugWindow;
///
private System.ComponentModel.Container components = null;
public CustomWindow()
{
InitializeComponent();
this.Icon = new Icon(“Icon.ico”);
DrawCursor = new Cursor(“Pen.cur”);
this.Size = new Size(800, 600);
this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);
this.SetStyle(ControlStyles.DoubleBuffer,true);
// this.MouseDown += new MouseEventHandler(this.M_Down);
// this.MouseUp += new MouseEventHandler(this.M_Up);
// this.MouseMove += new MouseEventHandler(this.M_Move);
P1.Paint += new PaintEventHandler(this.PanelPaint);
P1.MouseDown += new MouseEventHandler(this.M_Down);
P1.MouseUp += new MouseEventHandler(this.M_Up);
P1.MouseMove += new MouseEventHandler(this.M_Move);
m_WindowPath = new GraphicsPath();
m_path = new GraphicsPath();
InvalidRect = Rectangle.Empty;
//Set RichTextBox properties
DebugWindow.Height = this.Height /8;
DebugWindow.Dock = DockStyle.Bottom;
// Set properties of TreeView control.
PathTree.Dock = DockStyle.Left;
PathTree.Width = this.ClientSize.Width / 6;
PathTree.TabIndex = 0;
PathTree.Nodes.Add(“Shapes”);
//Set Panel Properties
P1.Dock = DockStyle.Fill;
P1.BackColor = Color.Bisque;
//Set up the splitters
TreeSplitter.Location = new Point(PathTree.Width, 0);
TreeSplitter.Size = new Size(2, this.Height);
TreeSplitter.BackColor = Color.Black;
PanelSplitter.Dock = DockStyle.Bottom;
PanelSplitter.Height = 2;
PanelSplitter.BackColor = Color.Black;
}
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
private void InitializeComponent()
{
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.mnuExit = new System.Windows.Forms.MenuItem();
this.menuItem3 = new System.Windows.Forms.MenuItem();
this.menuItem4 = new System.Windows.Forms.MenuItem();
this.menuItem5 = new System.Windows.Forms.MenuItem();
this.menuItem2 = new System.Windows.Forms.MenuItem();
this.menuItem6 = new System.Windows.Forms.MenuItem();
this.menuItem7 = new System.Windows.Forms.MenuItem();
this.menuItem8 = new System.Windows.Forms.MenuItem();
this.menuItem9 = new System.Windows.Forms.MenuItem();
this.PathTree = new System.Windows.Forms.TreeView();
this.P1 = new System.Windows.Forms.Panel();
this.TreeSplitter = new System.Windows.Forms.Splitter();
this.menuItem10 = new System.Windows.Forms.MenuItem();
this.DebugWindow = new System.Windows.Forms.RichTextBox();
this.PanelSplitter = new System.Windows.Forms.Splitter();
this.SuspendLayout();
//
// mainMenu1
//
this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1,
this.menuItem3,
this.menuItem7});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.mnuExit});
this.menuItem1.Text = “File”;
//
// mnuExit
//
this.mnuExit.Index = 0;
this.mnuExit.Text = “&Exit”;
this.mnuExit.Click += new System.EventHandler(this.mnuExit_Click);
//
// menuItem3
//
this.menuItem3.Index = 1;
this.menuItem3.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem4,
this.menuItem10,
this.menuItem5,
this.menuItem2,
this.menuItem6,
this.menuItem9});
this.menuItem3.Text = “Shape”;
//
// menuItem4
//
this.menuItem4.Index = 0;
this.menuItem4.Text = “Create”;
//
// menuItem5
//
this.menuItem5.Index = 2;
this.menuItem5.Text = “Resize”;
//
// menuItem2
//
this.menuItem2.Index = 3;
this.menuItem2.Text = “-“;
//
// menuItem6
//
this.menuItem6.Index = 4;
this.menuItem6.Text = “Load Shape”;
//
// menuItem7
//
this.menuItem7.Index = 2;
this.menuItem7.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem8});
this.menuItem7.Text = “Form”;
//
// menuItem8
//
this.menuItem8.Index = 0;
this.menuItem8.Text = “Spawn”;
//
// menuItem9
//
this.menuItem9.Index = 5;
this.menuItem9.Text = “Save Shape”;
//
// PathTree
//
this.PathTree.ImageIndex = -1;
this.PathTree.Name = “PathTree”;
this.PathTree.SelectedImageIndex = -1;
this.PathTree.Size = new System.Drawing.Size(88, 488);
this.PathTree.TabIndex = 0;
//
// P1
//
this.P1.Location = new System.Drawing.Point(112, 16);
this.P1.Name = “P1”;
this.P1.Size = new System.Drawing.Size(464, 472);
this.P1.TabIndex = 1;
//
// TreeSplitter
//
this.TreeSplitter.Name = “TreeSplitter”;
this.TreeSplitter.Size = new System.Drawing.Size(8, 573);
this.TreeSplitter.TabIndex = 2;
this.TreeSplitter.TabStop = false;
//
// menuItem10
//
this.menuItem10.Index = 1;
this.menuItem10.Text = “Smooth”;
//
// DebugWindow
//
this.DebugWindow.Location = new System.Drawing.Point(24, 520);
this.DebugWindow.Name = “DebugWindow”;
this.DebugWindow.Size = new System.Drawing.Size(536, 40);
this.DebugWindow.TabIndex = 3;
this.DebugWindow.Text = “richTextBox1”;
//
// PanelSplitter
//
this.PanelSplitter.Location = new System.Drawing.Point(8, 0);
this.PanelSplitter.Name = “PanelSplitter”;
this.PanelSplitter.Size = new System.Drawing.Size(8, 573);
this.PanelSplitter.TabIndex = 4;
this.PanelSplitter.TabStop = false;
//
// CustomWindow
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(592, 573);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.PanelSplitter,
this.DebugWindow,
this.TreeSplitter,
this.P1,
this.PathTree});
this.Menu = this.mainMenu1;
this.Name = “CustomWindow”;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = “CustomWindow”;
this.Load += new System.EventHandler(this.CustomWindow_Load);
this.ResumeLayout(false);
}
#endregion
#region Main Entry Point
///
[STAThread]
static void Main()
{
Application.Run(new CustomWindow());
}
#endregion
private void CustomWindow_Load(object sender, System.EventArgs e)
{
}
// protected override void OnPaint(PaintEventArgs e)
// {
// Graphics G = e.Graphics;
// PaintMe(e.Graphics);
// }
private void PanelPaint(object sender, PaintEventArgs e)
{
PaintMe(e.Graphics);
}
private void PaintMe(Graphics G)
{
G.SmoothingMode = SmoothingMode.AntiAlias;
if (m_WindowPath.PointCount > 0)
G.DrawPath(Pens.Black, m_WindowPath);
if (m_path.PointCount > 0)
G.DrawPath(Pens.Red, m_path);
}
private void M_Down(object sender, MouseEventArgs m)
{
m_StartPoint = new Point(m.X, m.Y);
m_LastPoint = m_StartPoint;
m_WindowPath = new GraphicsPath();
m_Drawing = true;
P1.Invalidate();
}
private void M_Up(object sender, MouseEventArgs m)
{
m_WindowPath.CloseFigure();
m_Drawing = false;
//Smooth out the path by reducing lines that make up path
m_path = SmootherPath(m_WindowPath);
Matrix Q = new Matrix();
Q.Translate(50, 5);
m_path.Transform(Q);
int a = m_WindowPath.PointCount;
int b = m_path.PointCount;
//Draw the paths and make a window.
P1.Invalidate();
MakeWindow();
}
private void M_Move(object sender, MouseEventArgs m)
{
if(m_Drawing)
{
m_WindowPath.AddLine(m_LastPoint.X, m_LastPoint.Y, m.X, m.Y);
m_LastPoint.X = m.X;
m_LastPoint.Y = m.Y;
InvalidRect = Rectangle.Truncate(m_WindowPath.GetBounds());
InvalidRect.Inflate( new Size(2, 2) );
P1.Invalidate(InvalidRect);
}
}
///
/// Start first with reducing the number of lines in this graphics path
/// 1. read first point
/// 2. if x value of next point = x value of last point then skip
/// 3. if x value of next point != value of last point then…
/// 3a. make line based on these two points
/// 3b. add line to new path
/// 3c. first point = next point
/// 4. repeat 1-3c
/// 5. Repeat 1-4 for both X and Y
///
private GraphicsPath SmootherPath(GraphicsPath gp)
{
PathData pd = gp.PathData;
PointF pt1 = new Point(-1,-1);
//First do all values in the X range
GraphicsPath FixedPath_X = new GraphicsPath();
foreach (PointF p in pd.Points)
{
if (pt1.X == -1)
{
pt1 = p;
continue;
}
// If I introduced an error factor here I could smooth it out even more
if (p.X != pt1.X)
{
FixedPath_X.AddLine(pt1, p);
pt1 = p;
}
}
FixedPath_X.CloseFigure();
//Second do all values in the Y range
pd = FixedPath_X.PathData;
pt1 = new Point(-1,-1);
GraphicsPath FixedPath_Y = new GraphicsPath();
foreach (PointF p in pd.Points)
{
if (pt1.Y == -1)
{
pt1 = p;
continue;
}
// If I introduced an error factor here I could smooth it out even more
if (p.Y != pt1.Y)
{
FixedPath_Y.AddLine(pt1, p);
pt1 = p;
}
}
FixedPath_Y.CloseFigure();
return FixedPath_Y;
}
private void MakeWindow()
{
Form frm = new Form();
GraphicsPath path = (GraphicsPath)m_WindowPath.Clone();
Matrix Xlate = new Matrix();
//Find the lowest Y value and normalize all Y values to zero
//Find the lowest X value and normalize all X values to zero
PointF[] p = path.PathPoints;
int Xoffset = 9999;
int Yoffset = 9999;
foreach (PointF p2 in p)
{
if (p2.X < Xoffset)
Xoffset = (int)p2.X;
if (p2.Y < Yoffset)
Yoffset = (int)p2.Y;
}
Xlate.Translate(-Xoffset, -Yoffset);
path.Transform(Xlate);
// Set the paractical viewing region of the form
frm.Region = new Region(path);
//Set the size of the form
Rectangle frmRect = Rectangle.Truncate(path.GetBounds());
frm.Size = frmRect.Size;
//Set some other parameters
frm.StartPosition = FormStartPosition.CenterParent;
frm.FormBorderStyle = FormBorderStyle.FixedSingle;
frm.ShowDialog();
frm.Dispose();
Xlate.Dispose();
}
private void mnuExit_Click(object sender, System.EventArgs e)
{
this.Close();
}
}
}
CustomWindow.zip( 34 k)[/csharp]
namespace DiskDiff
{
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class DiskDiff : System.Windows.Forms.Form
{
private System.ComponentModel.Container components;
public DiskDiff()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Size = new System.Drawing.Size(300,300);
this.Text = "Form1";
}
public static void Main(string[] args)
{
Application.Run(new DiskDiff());
}
}
}
// A form-based Windows Skeleton.
using System;
using System.Windows.Forms;
// WinSkel is derived from Form.
public class WinSkel : Form {
public WinSkel() {
// Give the window a name.
Text = "A Windows Skeleton";
}
// Main is used only to start the application.
[STAThread]
public static void Main() {
WinSkel skel = new WinSkel(); // create a form
// Start the window running.
Application.Run(skel);
}
}
/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa
Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace FormSample
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class FormSample : System.Windows.Forms.Form
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public FormSample()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
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()
{
//
// FormSample
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Name = "Form1";
this.Text = "Form1";
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new FormSample());
}
}
}
/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa
Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace AddControls
{
///
public class AddControls : System.Windows.Forms.Form
{
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button2;
///
private System.ComponentModel.Container components = null;
public AddControls()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
private void InitializeComponent()
{
this.button2 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.listBox1 = new System.Windows.Forms.ListBox();
this.SuspendLayout();
//
// button2
//
this.button2.Location = new System.Drawing.Point(160, 240);
this.button2.Name = “button2”;
this.button2.Size = new System.Drawing.Size(96, 24);
this.button2.TabIndex = 3;
this.button2.Text = “Cancel”;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(38, 200);
this.textBox1.Name = “textBox1”;
this.textBox1.Size = new System.Drawing.Size(216, 20);
this.textBox1.TabIndex = 1;
this.textBox1.Text = “”;
//
// button1
//
this.button1.Location = new System.Drawing.Point(48, 240);
this.button1.Name = “button1”;
this.button1.Size = new System.Drawing.Size(80, 24);
this.button1.TabIndex = 2;
this.button1.Text = “Add Item”;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// listBox1
//
this.listBox1.Location = new System.Drawing.Point(38, 32);
this.listBox1.Name = “listBox1”;
this.listBox1.Size = new System.Drawing.Size(216, 147);
this.listBox1.TabIndex = 0;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.button2,
this.button1,
this.textBox1,
this.listBox1});
this.Name = “AddControls”;
this.Text = “AddControls”;
this.ResumeLayout(false);
}
#endregion
///
[STAThread]
static void Main()
{
Application.Run(new AddControls());
}
private void button1_Click(object sender, System.EventArgs e)
{
if (textBox1.Text == “”)
return;
string strAdd = textBox1.Text;
if (listBox1.FindString (strAdd, -1) < 0)
{
listBox1.Items.Add (strAdd);
textBox1.Text = "";
textBox1.Focus ();
return;
}
MessageBox.Show (""" + strAdd + "" is already in the list box", "Duplicate");
}
private void button2_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
}
}
[/csharp]