Irregular form : Form « GUI Windows Forms « C# / CSharp Tutorial





Irregular form
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

public class IrregularForm : Form
{
    public IrregularForm()
    {
        this.cmdClose = new System.Windows.Forms.Button();
        this.SuspendLayout();

        this.cmdClose.Location = new System.Drawing.Point(94, 231);
        this.cmdClose.Size = new System.Drawing.Size(75, 23);
        this.cmdClose.Text = "Close";
        this.cmdClose.UseVisualStyleBackColor = true;
        this.cmdClose.Click += new System.EventHandler(this.cmdClose_Click);

        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(295, 270);
        this.Controls.Add(this.cmdClose);
        this.Text = "Irregular Form";
        this.Load += new System.EventHandler(this.IrregularForm_Load);
        this.ResumeLayout(false);

    }

    private void IrregularForm_Load(object sender, EventArgs e)
    {
        GraphicsPath path = new GraphicsPath();

        Point[] pointsA = new Point[]{new Point(0, 0),new Point(40, 60), new Point(this.Width - 100, 10)};
        path.AddCurve(pointsA);

        Point[] pointsB = new Point[]{
                new Point(this.Width - 40, this.Height - 60), 
                new Point(this.Width, this.Height),
                new Point(10, this.Height)
            };
        path.AddCurve(pointsB);

        path.CloseAllFigures();

        this.Region = new Region(path);
    }

    private void cmdClose_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private System.Windows.Forms.Button cmdClose;
    
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new IrregularForm());
    }
    
}










23.2.Form
23.2.1.Subclass Form
23.2.2.Use Inherited form in a separate Main class
23.2.3.Inherit Form With Constructor
23.2.4.ResumeLayout and SuspendLayout
23.2.5.Call form constructor to create a Form object
23.2.6.Cal Show method to display a form
23.2.7.Text as the title
23.2.8.Set Form Visible properties
23.2.9.The difference between Form.Show and Application.Run()
23.2.10.The Hello, WindowsForms Application
23.2.11.Build Form without by hand
23.2.12.Inherited Form
23.2.13.Move a Form in codeMove a Form in code
23.2.14.Irregular formIrregular form
23.2.15.Add a Main Menu
23.2.16.Change Form size in menu action
23.2.17.Scroll FormScroll Form
23.2.18.Form message filter
23.2.19.Form Dispose
23.2.20.Change Form Cursor
23.2.21.Add control to Form dynamically