Click here to Skip to main content
Licence 
First Posted 16 Mar 2004
Views 75,356
Bookmarked 34 times

Shaped Forms without a line of code

By | 16 Mar 2004 | Article
Have you ever wondered how to make a very customized form but you cannot make its graphics with code?

Sample Image - 009.jpg

Introduction

First of all, I am a newbie at C#. I started it from only two days ago so, sorry for the experts if they didn’t like my article or didn’t find anything useful here. But I think there is some one who may need it to improve his application's interface. The trick is same as the technique which is used at the movies to make the actors do the scene at a room the walls of which is painted with a illuminated color, then the graphic designers put another scene of a forest or a planet or any place else, this is how it works for us.

The first step is to make the required Form graphics by any graphics tool (I usually use the Photoshop). The form graphics must have the background color as illuminated green because this color can be easily grouped and deleted without deleting any edges of the shape you want. In other words, if we used non illuminated color, the dark edges of the shape will be deleted with the background color.

Any way the work will show how it is done, as I did in my sample. You can see what I was saying:

Sample screenshot

But the main problem is that Visual studio needs the same exact color as the background and if you mismatched this rule, the background color will stick to your form. If we take a closer view of our painted form, you can see a small difference at a point on the curved edges:

Sample screenshot

The Visual Studio considers it as a different color than the background, so it leaves it without deleting and it looks very awful at your form as:

Sample screenshot

So try to eliminate all different colors from your graphic before using it. Now another thing …. When you save your background color, try to make the background color take a little space from it because the VS considers it as a part of the form although it eliminates it.

Now save your work as .bmp file and open VS.NET. Make a project that contains a C# empty form and start modifying it as the following:

Sample screenshot

Add the button and the label you want and adjust the form properties as the following:

  • BackgroundImage: your background with extension .bmp
  • FormBorderStyle: None
  • TransparencyKey: Web, then choose Lime

Adjust the Button properties as the following:

  • BackColor: Web, then choose White Smoke
  • Text: OK

Adjust the Label properties as the following:

  • BackColor: Web, then choose Transparent
  • FlatStyle: Popup

Add this code to the button1_Click function:

Application.Exit();

If you want your form moveable, you can use the code at Jibin's article (Interactive Shaped Forms). That is all.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Hossam Abbas

Marketing

Egypt Egypt

Member

http://hossamabbas.blogspot.com/

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralThis way it'll work Pinmemberbalazs_hideghety1:40 18 Aug '09  
Generalchange color depth and it will work Pinmemberosamahamed1231:30 26 Feb '06  
GeneralThe true way to make any shaped form PinmemberRezaul21:08 17 Oct '04  
GeneralThanks and another trick PinsussRAAK10:44 3 Apr '04  
GeneralRe: Thanks and another trick PinmemberH_LionHeart12:58 28 Apr '04  
Generaldidn't worked Pinmembervandana chadha18:51 28 Mar '04  
GeneralVery clean...Thanks Pinmemberservero0:08 26 Mar '04  
GeneralNot on NT4 PinmemberMartin Robins5:47 23 Mar '04  
GeneralRe: Not on NT4 PinmemberH_LionHeart12:44 23 Mar '04  
GeneralRe: Not on NT4 PinmemberEd.Poore4:56 12 Mar '06  
Generaldoesnt work for me Pinmember_taz_1:41 18 Mar '04  
GeneralRe: doesnt work for me PinmemberLoneRanger3:55 18 Mar '04  
GeneralRe: doesnt work for me PinmemberH_LionHeart3:57 18 Mar '04  
GeneralRe: doesnt work for me PinmemberMatthew Hazlett8:21 18 Mar '04  
GeneralRe: doesnt work for me PinmemberH_LionHeart9:40 18 Mar '04  
GeneralRe: doesnt work for me Pinmemberkareemshaker22:01 20 Mar '04  
GeneralWorks for me! Pinmemberbreinholt11:23 25 Mar '04  
GeneralRe: doesnt work for me PinmemberH_LionHeart12:56 28 Apr '04  
GeneralRe: doesnt work for me Pinmemberdjones793617:46 27 Mar '04  
GeneralRe: doesnt work for me Pinmembergazza_10:36 28 Mar '04  
GeneralRe: doesnt work for me PinmemberH_LionHeart13:18 28 Mar '04  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120517.1 | Last Updated 17 Mar 2004
Article Copyright 2004 by Hossam Abbas
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid