Im using c# 2005 express edition
Ive pretty much finished an winforms application and i need to
significantly improve the visual appeal of the interface.
Im totaly stuck on this and cant seem to work out how to start on a
solution.
I have of course used a varienty of componets, mostly radio buttons
with "button" appearence.
So i need a way to enhance the buttons and forms looks without redoing
or undoing any exisitng coding, and i understand there are ways of
affecting the whole GUI and look of the application.
So where do i start with that. I would like to eventually be able to
customise the look of the whole range of visual componets, but in the
short term doing something like improve the look of the various button
and radio button and check button up and down visual states with some
sort of painted gradient to produce a metalic like look, even on the
back of the forms itself.
My internet research has not led to me to any specific step by step
examples on how i can do this.
It would be great if anyone could get me started with an example like
applying a gradient and bitmap to a radio button while it is in
"button" appearence mode and adjusted for the up and down states
appearence, in such a way as to affect all the same button types on
the forms, in the application
thanks for any help.
Im realy stuck on this one with no idea where to go from here.
peted
Nicholas Paldino [.NET/C# MVP] - 09 Jun 2007 20:46 GMT
If you are going to use Windows Forms, then you might want to look into
subclassing the Button class, and custom painting it (as well as any of your
other user interface elements which you want to improve upon). Once you do
that, you would have to replace all instances of those UI elements with your
own custom ones.
If you were using Windows Presentation Foundation, you would have been
able to do this much easier, as customization of elements can be done
declaratively through XAML, not just through code.

Signature
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com
> Im using c# 2005 express edition
>
[quoted text clipped - 32 lines]
>
> peted
Tom Leylan - 09 Jun 2007 21:17 GMT
Rather than undertake a completely unique one-up approach to customizing a
UI may I suggest you look into skinning? The technique has been around for
several years, it has been applied across multiple languages and there are
.Net implementations. Look around and check these out as well:
http://www.dnzone.com/showDetail.asp?TypeId=3&NewsId=1654
http://www.skincrafter.com/vbnet_developers.html?adv=dotnet
"Nicholas Paldino [.NET/C# MVP]" <mvp@spam.guard.caspershouse.com> wrote...
> If you are going to use Windows Forms, then you might want to look into
> subclassing the Button class, and custom painting it (as well as any of
[quoted text clipped - 42 lines]
>>
>> peted
Nicholas Paldino [.NET/C# MVP] - 09 Jun 2007 21:24 GMT
Tom,
To be honest, I think that WPF makes the need for skinning frameworks
obsolete. Either that, or it makes their importance much less significant,
because of the ability to swap out the physical appearance of a control.
On top of that, the OP said:
So i need a way to enhance the buttons and forms looks without redoing
or undoing any exisitng coding
Putting a skinning framework in would not satisfy that need, AFAIK.

Signature
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com
> Rather than undertake a completely unique one-up approach to customizing a
> UI may I suggest you look into skinning? The technique has been around
[quoted text clipped - 52 lines]
>>>
>>> peted
Tom Leylan - 09 Jun 2007 23:48 GMT
Hi Nicholas:
According to the page: "DotNetSkin is skin component for Windows Forms
Application, With DotNetSkin developer can create professional skin user
interfaces without coding efforts. Just put one component, DotNetSkin will
skin all forms and controls in your .NET Windows Forms applications."
If adding a component is a lot of work what do you call subclassing the
button class and custom painting it? I'm only suggesting that he look at
the DotNetSkin and similar solutions, if he finds custom painting easier he
should do simply do that.
"Nicholas Paldino [.NET/C# MVP]" <mvp@spam.guard.caspershouse.com> wrote...
> Tom,
>
[quoted text clipped - 66 lines]
>>>>
>>>> peted
Chris Dunaway - 11 Jun 2007 16:10 GMT
> Hi Nicholas:
>
[quoted text clipped - 88 lines]
>
> >>>> peted
Another skinning component that I looked at was called IrisSkin. It
was very simple to skin without changing any code.
http://www.sunisoft.com/irisskin/
Chris
Ben Voigt [C++ MVP] - 09 Jun 2007 21:58 GMT
> Im using c# 2005 express edition
>
[quoted text clipped - 17 lines]
> sort of painted gradient to produce a metalic like look, even on the
> back of the forms itself.
.NET has a whole bunch of classes named "Renderer" this and "VisualStyles"
that. But they're all sealed, no chance to override, and the MS
documentation on Visual Styles says this:
Visual Styles
Visual styles were introduced with Windows XP. Visual styles are
specifications for the appearance of controls. For example, a visual style
can define the overall appearance of controls, and enable software
developers to configure the visual interface to coordinate with an
application's appearance. Additionally, visual styles provide a mechanism
for all Windows-based applications to apply visual styles. The following are
some characteristics of visual styles.
* Visual styles change the appearance of controls in windows.
* You cannot author a specification file that changes the appearance of
controls.
* To use a particular appearance in your application you must use the
UxTheme API.
* End users choose how they want the desktop controls to appear by
making selections on the Appearance tab of the display option in Control
Panel.
Looks like you will have to custom-draw everything like Nicholas suggested.
> My internet research has not led to me to any specific step by step
> examples on how i can do this.
[quoted text clipped - 10 lines]
>
> peted
Peted - 10 Jun 2007 15:48 GMT
Thanks for all the advice.
i tried searching on the skinning option, but all i can find on the
net for that is 3rd party comercial software to perform that task.
I dont realy want to spend that money and i have not been able to find
any tutorials or code samples that show how to reproduce the effects.
Skinning would have been my prefered option but im am interested in
looking at using the windows presentation foundation.
If i understand this correctly this comes part of dot net 3.0.
So im using c# express 2005 .net 2.0
how can i move to using the WPF with this ?
Do i just need to download and install the .net 3.0 sdk (if there is
one ?) and .net 3.0 distribuatble ?
Can i convert my current projects in c# express 3005 to use the .net
3.0 ?
thanks for any help
Peted
Nicholas Paldino [.NET/C# MVP] - 11 Jun 2007 00:38 GMT
Peted,
Your current projects should work in .NET 3.0 without any change.
However, converting a WinForms app to a WPF app isn't easy, as the models
are almost COMPLETELY different.

Signature
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com
> Thanks for all the advice.
>
[quoted text clipped - 22 lines]
>
> Peted
Chris Dunaway - 11 Jun 2007 16:15 GMT
> i tried searching on the skinning option, but all i can find on the
> net for that is 3rd party comercial software to perform that task.
>
> I dont realy want to spend that money and i have not been able to find
> any tutorials or code samples that show how to reproduce the effects.
How much is your time worth? I see posts all the time where people do
not want to spend money on 3rd party products and then they proceed to
spend many hours and days coming up with their own solution.
My point is, if you spend a lot of time cooking your own solution, you
are essentially spending that money anyway! Why not save yourself the
time?
Chris
Ben Voigt [C++ MVP] - 16 Jun 2007 19:04 GMT
> Can i convert my current projects in c# express 3005 to use the .net
> 3.0 ?
I never would have imagined C# lasting over a millenium. Does Microsoft
still control it in 3005? Can I get a copy? What kind of computer is
needed to run it?
Arjen Logghe - 17 Jun 2007 00:20 GMT
> > Can i convert my current projects in c# express 3005 to use the .net
> > 3.0 ?
>
> I never would have imagined C# lasting over a millenium. Does Microsoft
> still control it in 3005? Can I get a copy? What kind of computer is
> needed to run it?
Beware of funny programmers ;)