Reputation: 2395
I'm kind of stuck on this one, I know it can be done but unsure the steps needed.
I want to create a fully custom User Interface design for an application I'm having to create. I can change the form background and all that but this is a bit more complex.
An example image is shown below of the kind of change I'm referring to, as you can see its a rather big change compared to the current UI used by most applications.
Upvotes: 5
Views: 18991
Reputation: 14872
Since you can't use WPF (why?!), you'll need to create custom classes for all your controls, inheriting and overriding OnPaint
. This will be a hard job done all with C# code.
Here is a tutorial showing many steps to create custom UI for WinForms.
Upvotes: 2
Reputation: 19100
I'd advise you to use WPF as your question doesn't seem to limit itself to using WinForms. It has a lot of the effects I can see in this screenshot out of the box which would be more difficult to implement using WinForms.
Every reuseable control can be created separately and reused later on. WPF is highly extendable and you can compose new controls out of existing controls. You might create the 'up-down' control by using existing button controls, and perhaps you can already find an existing one to suit your needs.
Styling is done separately in WPF, so you can apply your custom style by using templates.
UPDATE:
When you HAVE to use winforms the easiest solution would be to go for a fixed size window, and let your designer create images for all the buttons and such. ... Old school slicing techniques.
You basically have to decompose the design so you can reuse it as much as possible. E.g. You will have a couple of button backgrounds depicting their various states. (down/up/hover) The glow on top of the track information can be stored in a separate image, so it can be applied 'on top' of the text.
Upvotes: 0
Reputation: 1717
Have a look at Windows Presentation Foundation (WPF) which is designed to allow the creation of rich graphical UI applications like the example you gave. It focuses on separating the front end (graphical UI) from the logic behind (which you can code in C#. VB etc.)
It's very different to forms in the way you layout your UI (using a form of XML) but it's all built around the .Net framework which means there will be some level of familiarity.
Check out these links to get started:
http://www.wpftutorial.net/WPFIntroduction.html
http://www.wpf-training-guide.com/
Upvotes: 1