(This article is cross-posted at dotnetspider.com. Click here to read Review of DevExpress WinForms Controls. A review of the newer version of DevExpress WinForms controls can be found here.)
DXperience 2012 is a modern and advanced next generation set of developer tools from DevExpress, the company which has a proven record in offering productivity tools for Visual Studio developers.
There are various editions of the DevExpress available. Here is a list of available editions that you can choose:
- DXperience Universal
- DXperience Enterprise
- DXperience WinForms
- DXperience ASP.NET
- DXperience WPF
- DXperience Silverlight
If you are a professional developer and work on a wide range of .NET technologies, you may want to chooser DXperience Universal which includes all components for various .NET technologies.
Here I am going to discuss my experience in using DXperience Winforms controls. We all know Microsoft has made a lot of free .NET controls for Winforms application development. Remember the olden days of C or C++ where we had very few visual controls available and we had to build a lot of them ourselves. Microsoft has come a long way from there and we have a lot of controls available with Visual Studio to develop cool Windows applications. However, when it comes to developing advanced and sophisticated user interface, the default controls available with Visual Studio is not sufficient. Many times, I had to create my own custom user controls to develop intuitive user interface.
Of course I have the choice of developing my own controls, but it has a lot of drawbacks:
- I end up spending more time developing user controls than spending time on the business logic of the application.
- Newer versions of Visual Studio could have breaking changes and I will end up rebuilding my user controls, spending a lot more time on it.
- Since building user controls are time consuming, I would often compromise on the features and live with fewer features. This would result in a lower quality application.
How DevExpress helped us?
DExperience is a set of productivity tools from DevExpress. It comes with a wide range of tools for various platforms including Winforms, ASP.NET, WPF and so on. I have used the Winforms controls and let us how the DXperience Winforms controls helped us develop advanced software applications for our clients and helped us generate more revenue for our business.
One of the cool things about DExperience is, it adds many new templates to your project templates. You can choose an appropriate template so that you can jumbo start your project with a lot of foundation work already done for you. Take a look at the project templates available for Windows project:
If you like to create a standard Windows application, you can choose the DXperience Windows Forms Application which will provide you the platform to create intuitive Windows application for any general application development. After you create a DXperience template for your new project, you can customize how your application should look like. You can choose the controls you want to be placed at each command area of the application main window.
One of the best things I like about the DXperience Winforms controls is, without writing a single line of code, you can get a basic application up and running. Here is a sample application I created just by going through the New Project wizard. Take a look at the customized project, which was done without referring to any help topics and without writing a single line of code:
All I did was selecting the preferred controls during the new project creation wizard and it created a pretty cool application as shown above. DXperience has placed the advanced yet cool controls for me in the project and even loaded lot of images for the "Gallery control" from its image library.
Using DXperience Controls
DevExpress has made the application development easier by providing easy to use controls for Windows Forms. DevExpress controls use standard Visual Studio development methods. For example, you can right click on any control and set the standard properties for any DevExpress controls, just like you do it for Windows controls.
Consider the navigation control as an example. You can drag and drop the navigation control to your Winform window and press F4 to get the properties window. In the properties window, you will see the standard .NET properties. DevExpress has carefully chosen standard naming convention for the property names so that the .NET developers will not feel lost when they are working with the DXperience controls.
In my case, when I was developing the Cargo tracker project, we were able to create the new project using the wizard and then modify the controls according to our needs. Almost all of the changes we had to do was pretty obvious and we never had to refer to the help topics until we had to perform some advanced programming. Changing the navigation menu, removing/adding gallery items, adding event handlers to navigation items etc were very straight forward. For example, we could add an OnClick event handler to the CargoTracker toolbar items by double clicking on the navigation entry, just like we do it for any other standard Windows controls.
DXperience templates vs Visual Studio templates
If you don't want to start with a DXperience project template but want to use the default Winforms template, you can go for it. A typical example is, adding more intuitive user interface to existing applications. You can install DXperience and start modifying your existing Windows application by adding or replacing your existing controls.
DXperience Winforms pack comes with about 100 new controls. Some of them are similar to existing windows controls but adds lot of functionality to it. A typical example is the Tab control. The classic Tab control that comes with Visual Studio has very limited functionality and offers limited customization. You cannot even change the background color of the tab headers. But if you replace the default tab control with the DXperience tab control, you are opening doors to a wide range of features and options.
Some of the advanced features in the DXperience tab controls include:
- Customize the appearance with various background and foreground colors
- Use images as background for Tab control and tab headers
- Customize the tab header however you want
- Add a close button to the tab control
- Add close buttons to active tab page or all tab pages.
- Use gradient colors
- Choose Skins to customize the control
Take a look at a sample screen where I have placed the DevExpress Tab Control and the default Winforms tab controls. Also, I have used the DevExpress label control and winforms label control. You can see that the DevExpress controls offer a lot more customizability to create very appealing user interface.
My favorite DevExpress Controls
If I choose to write on all of the cool DevExpress controls, it may take weeks to cover them all. I am going to talk about some of my favorite controls here.
This is one of the new controls from DevExpress that imitates the new Windows 8 Tile controls. Tiles are a new concept in Windows 8. A tile represents an application icon in the desktop. More than just a shortcut icon, it represents the application itself. A tile can display a lot of information from the application, including current data and latest updates from the application. For example, if you have a Tile representing a chat application, it can show your buddies who are currently online, latest messages from your friends, new emails from your contacts and so on. So, basically, a Tile is a mini application running in the background.
The XtraTile is one of the latest controls from DevExpress that helps you build cool .NET applications that look like Windows 8 Metro UI. Using this control, you can create Tiles and Tile Groups in your application. You can drag and drop a tile control on your form and add Tile Groups and then Tiles in to the Tile Groups. You can configure the background image for the Tile, set text, change colors and so on.
Here is a screenshot of a Tile control on a Form which I created in a few minutes without writing any code:
Just like Windows 8, you can have small tiles or double sized tiles. The XtraTile control gives you a lot more flexibility and options than the real Windows 8 Tiles.
Some of the cool features of XtraTile control I tried are:
- Configure the size of the control, in addition to choosing small or large Tiles
- Arrange the Tiles in to Tile Groups
- Built in Drag & Arrange option which allows you to move around your tiles in the application at run time. This would allow the end users to re position the Tiles in the application according to their personal preferences. They can move the most used controls to the hot positions.
- They are touch-friendly. It is easy to develop a touch based application using the XtraTile control, where users can control and navigate through the application with touch instead of traditional mouse and keyboard.
- Tiles have lot of customization options. You can change the appearance of the Tile at various actions like hover, click, selected etc.
- There is a "checked" state which allows you to show special state of the Tile.
- Tiles can be animated. You can choose multiple images and animate them on the tile. For example, in case of a "Contacts" tile, you may animate the photos of the people are currently online. In case of a Stock Symbol tracker, you may animate and show the prices of various stock symbols configured.
- Builtin support for ItemClick, ItemPress and ItemRightClick events.
- Use Html with the text. Windows 8 supports HTML 5 to develop cool metro apps. The XtraTile is not there yet, but allow you to use basic HTML to format the text displayed in the Titles. Here is the HTML I used to set the .Text property of the Contacts Tile in the screenshot shown above:
It shows the word "Contacts" in bold and then there is a line break represented by
- The word "Phonebook" is in a small font as specified by the attribute "size=7".
The reimagined Windows 8 is expected to change the way software applications are developed for Windows. The metro style UI is expected to gain traction once Windows 8 becomes the standard desktop OS. Many of the upcoming laptops, tablets and ultrabooks are Touch based instead of mouse and keyboard. I believe the future of Windows applications is "Touch Apps" and XtraTiles is a great choice to develop touch based applications without spending your valuable development time on implementing the Tile features.
Even though most of the controls are easy to use and work very similar to default winforms controls, it may take some time to master the advanced features. However, once you get used to the terminology and property names of one or more controls, you will feel very comfortable working with any other DevExpress controls since they use a consistent naming pattern across all of their controls. For example, all DevExpress controls have a property named "Appearance" which can be used to customize how the control looks. Once you learn how to use this property for a control, the same knowledge can be applied to any other control.
During my past 15 years of career as a software developer, I have used various third party productivity tools including DevExpress tools. DevExpress controls are one of the most stable and easy to use tools that can cut down your development time up to 50%, depending on the advanced user interface you need. The no-non sense licensing model allows you to choose a single package which allow you to use any one platform like Winforms or an all-in-one package that allow you to work with all .NET platforms. With the extensive help & documentation, you will not need to look anywhere else to get answers for your question. Just in case you can't quickly find what you need, you have a lot more options like a friendly customer support and online community forums hosted by DevExpress and supported by some DevExpress engineers who are always eager to help the developers. The great set of video demos and tutorials will give you a glimpse of the unlimited possibilities with the DevExpress controls. If you are looking for up to date information on the latest news from DevExpress, the DevExpress Blog is a great place to keep an eye on. The Free Webinars by DevExpress are just another way to learn from the horse's mouth. With so many options to learn and a wide range of tools to develop intuitive user interface, DevExpress controls are an excellent choice to increase your productivity.
Disclosure of material connection: I received the DevExpress suite of controls for free in the hope that I would review and publish it. Regardless, I only recommend products I use personally and believe my readers would enjoy. I am disclosing this in accordance with the Federal Trade Commission's 16 CFR, part 255: Guides Concerning the Use of Endorsements and Testimonials in Advertising