Interactive Shaped Forms






2.59/5 (14 votes)
Mar 20, 2002

103344

2690
This Demo show how to create shaped form and customized buttons using the Region, GraphicsPath and picture class
Introduction
This Demo show how to create shaped form and customized buttons using the Region, GraphicsPath and picture class. It also demonstrates using the picture control to display animated pictures.
All graphics are from Microsoft Media Player and have been resized to make the graphic files smaller.
The procedures:
- Create a form with some background color, then set the property
TransparenceKey
to that color and set theFormBorderStyle
to None. - Override the
Form_Paint
functionYou can do it by
protected override void OnPaint(PaintEventArgs e)
or add a new Handler
this.Paint += new System.Windows.Form.PaintEventHandler(Form_Paint)
- Using Region and GraphicsPath to set the Region that you want to
display.
im = new Bitmap("mediaPlayer.jpg"); private void Form_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Rectangle mainRect = new Rectangle(0, 0, 695, 278); Region mainRegion = new Region(mainRect); e.Graphics.SetClip(mainRegion, CombineMode.Replace); // Create a GraphicsPath object and add a curve. GraphicsPath myPath = new GraphicsPath(); ... Region ExcludeRegion3 = new Region(myPath); e.Graphics.ExcludeClip(ExcludeRegion3); ... e.Graphics.DrawImage(im, 0, 0, 495,278); // Reset clipping region to infinite. e.Graphics.ResetClip(); }
Note: Keep all the graphics in the bin/debug directory.
If you have any comments, I would love to hear about it. You can reach me at Jibin Pan.