Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
346 views
in Technique[技术] by (71.8m points)

.net - How to create a non rectangular window form in c#?

Is there any way of creating a non rectangular window form, such as circle or ellipse, in c# or .net?
I saw these unique windows form shapes and they look really neat in several installations I've seen.

Also, is there any disadvantage in using this kind of design for non standard forms, such as sustainability, crashes, etc.?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Form has Region property and you can assign there any shape that you create. For example to create oval form you can use this code in Form1_Load() method of form:

 var path = new GraphicsPath();

 path.AddEllipse(0, 0, Width, Height);
 Region = new Region(path);

The risk is that when you create non-rectangular form and close, minimalize buttons are cut off by region then some of end-users could have problems with closing your application.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...