[ACCEPTED]-How can you make a .net windows forms project look fresh?-user-interface
I was actually just sprucing up a dialog 67 today. A lot of it depends on what kind 66 of application you have, and what OS it 65 is running on. A couple of these tips will 64 certainly go a long way to jazzing things 63 up.
Ensure adequate spacing between controls 62 — don't cram them all together. Space is 61 appealing. You might also trying flowing 60 the controls a little differently when you 59 have more space.
Put in some new 3D and glossy 58 images. You can put a big yellow exclamation 57 mark on a custom warning dialog. Replace 56 old toolbar buttons with new ones. Two libraries 55 I have used and like are GlyFX and IconExperience. You can 54 find free ones too. Ideally get a graphic 53 artist to make some custom ones for the 52 specific actions your application does to 51 fill in between the common ones you use 50 (make sure they all go together). That will 49 go a long way to making it look fancy.
Try 48 a different font. Tahoma is a good one. Often 47 times the default font is MS Sans Serif. You 46 can do better. Avoid Times New Roman and 45 Comic Sans though. Also avoid large blocks 44 of bold — use it sparingly. Generally you 43 want all your fonts the same, and only use 42 different fonts sparingly to set certain 41 bits of text apart.
Add subdued colors 40 to certain controls. This is a tricky one. You 39 always want to use subdued colors, nothing 38 bright or stark usually, but the colors 37 should indicate something, or if you have 36 a grid you can use it to show logical grouping. This 35 is a slippery slope. Be aware that users 34 might change their system colors, which 33 will change how your colors look. Ideally 32 give them a few color themes, or the ability 31 to change colors.
Instead of thinking eye-candy, think 30 usability. Make the most common course of 29 action obvious. Mark Miller of DevExpress 28 has a great talk on the Science of User 27 Interface Design. I actually have a video 26 of it and might be able to post it online 25 with a little clean-up.
Invest in a few good 24 quality 3rd party controls. Replacing all 23 your controls could be a pain, but if you 22 are using the default grids for example, you 21 would really jazz it up with a good grid 20 from DevExpress or some other component vendor. Be 19 aware that different vendors have different 18 philosophies for how their components are 17 used, so swapping them out can be a bit 16 of a pain. Start small to test the waters, and 15 then try something really complicated before 14 you commit to replacing all of them. The 13 only thing worse then ugly grids is ugly 12 grids mixed with pretty grids. Consistency 11 is golden!
You also might look at replacing 10 your old tool bars and menus with a Ribbon 9 Control like Microsoft did in Office 2007. Then 8 everyone will think you are really uptown! Again 7 only replacing key components and UI elements 6 without thinking you need to revamp the 5 whole UI.
Of course pay attention to the 4 basics like tab order, etc. Consistency, consistency, consistency.
Some 3 apps lend themselves to full blown skinning, while 2 others don't. Generally you don't want anything 1 flashy that gets used a lot.
One other thing to also check is that your 8 controls have the FlatStyle property set to System instead 7 of Standard.
What this will do is make sure 6 that the app uses the system defaults for 5 radio buttons, standard buttons and the 4 like. This takes all your apps from the 3 flat Win 2000 look and gives them the XP 2 or Vista bling depending on the OS they 1 are running.
This isn't so much an "answer" as an opinion.
I 16 tried to jazz up a WinForms project I created 15 back a few years ago by giving the forms 14 a fancy blue gradient background etc, and 13 it looked pretty good on XP. But then on 12 Vista it looked out of place. Taking away 11 any custom painting and reverting the form 10 to "battleship gray" made it look much better 9 IMHO.
I'm seeing a lot of applications (particularly 8 from MS) coming out with custom window chrome 7 etc, and all it does is detract from the 6 nice sense of consistency that Windows gives.
I 5 guess what I'm saying is that you don't 4 need to worry too much about making your 3 application look fashionable. If you keep 2 your colours based on the SystemColors enumeration 1 then Windows can do that for you.
I recommend purchasing a good 3rd-party 14 control library - Infragistics and DevExpress, are just a couple. Most 13 of these libraries give you the ability 12 to drop in new compatible controls on top 11 of your existing ones - for example, you 10 can replace the default EditBox with an 9 enhanced version. They also give you access 8 to some of the snazzy new UIs such as Ribbon, or 7 the Outlook-style navigator people are always 6 wanting.
The reason I specifically recommend 5 using one of these libraries is that they 4 were designed to be relatively easy to use 3 in existing applications, you get support, a 2 community, and all sorts of upgrade paths/options.
The 1 downside: money.
What would be the best approach to making 8 this project look fresh and snazzy?
IMHO 7 the best thing you can do is make sure the 6 controls are logically ordered, and have 5 ample spacing between them, and add groupboxes 4 / labels / etc where appropriate.
If you 3 try and change the 'sea of gray' that is 2 the default color scheme, your app will 1 just end up looking crap.
This depends on how the existing "gray old 10 looking" project is structured in terms 9 of code. For example, is data access code 8 separated from the UI in a Data Access Layer, is 7 the business logic in a Business Logic Layer? If 6 yes, then cleaning the UI for a snazzy look 5 should be relatively simple.
If everything 4 is all there in the "Button Click" event, then 3 a rewrite is the only way in my humble opinion 2 as otherwise it will just be too time consuming 1 trying to work with the existing code base.
You can subclass all the default controls 9 and override their appearance. Admittedly, you 8 will have to go thru the entire project 7 and change all references of TextBox to 6 MyTextBox, but all of the default properties 5 and methods will still work. The same cannot 4 be guaranteed if you go with a 3rd party 3 vendor. The other advantage of this approach 2 is you can pick one control at a time and 1 perform an incremental upgrade of the application.
More Related questions