Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I will be creating a small database-driven Windows Forms application for my C# project. I wanted to beautify it like we do on web sites using CSS. Are there any resources or sites which can help me in beautifying my application?
You could try a library I built some time ago.
http://www.codeproject.com/Articles/33716/Fancy-Windows-Forms
"Beautify" and "Windows Forms" are not often used in the same sentence. WPF allows for significantly better design opportunities.
Some frameworks allow you to skin a WinForms application, which allows you to drive look through configuration rather than code.
How do I skin my Windows Forms application?
There's also a CodeProject project that provides a skinner, though I have not used it personally
http://catalog.codeproject.com/Articles/415102/WinForms-Form-Skin
When I used to write small WinForms utilities without access to a framework, I would subclass each major control, and apply a style in that subclass. One change to the subclass affects the entire app.
CSS-like styling is difficult in Windows Forms, because the framework wasn't really built with it in mind. If styling is important to you, then you will probably have a much easier time of it using WPF instead.
I know of one third-party library designed to help with skinning WinForms applications, DevExpress WinForms Skins. I don't have real experience with with it, though, so I can't make any comment on it.
You can't use CSS to style a WinForms application, but I don't think that's what you mean anyway.
As far as "beautifying" your application, there are a number of 3rd-party tools available. The most popular ones are (in no particular order):
Telerik
DevExpress
Infragistics
ComponentOne
Many, many others
People tend to get religious about their 3rd-party design tooling, and a lot of ink has been spilled on SO going over the benefits of each 3rd-party design tool.
If you google ".NET custom theme" then you can get many free styles to use in your projects.
Here is a list made by some user over at hackforums of his styles and custom controls, which I think help make your form 'Custom' and 'Nice': http://pastebin.com/1nvZ08kx
I've used the WebBrowser control to create an interface before. With it you can use HTML and CSS to create a pretty nice looking "form". It requires a bit more coding, but it works. A user needs IE installed to use the control though. There is a VB.Net example here:
Using VB .Net WebBrowser Control To Build WinForm User Interface
In any case, it's another option.
If you are interested in third-party tools for designing Windows Forms applications you could also take a look at the Infragistic's one - AppStylist for Windows Forms controls. There is a short video for the runtime version of this tool.
Another useful page for getting started is Application Styling Framework.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
Can anyone help me how to do UI Automation in WPF? I want to check the operation of a Grid.
If you just want to automate WPF and NOT WinForms, check out Telerik's free framework. There's also a paid version if you want more features like record-and-playback.
Two open-source C# libraries that support automation of both WPF and WinForms controls are:
White
I've used this, and found it to not always be reliable.
QAliber
I've used this, and found it to be good but needing work.
Both are open-source, so they'll show you how to use Microsoft's API's, and you can modify them to meet your needs.
I've also used Coded UI Test and Ranorex, but they're both $$, and I don't care for record-and-playback because I feel it's a maintenance issue. (Although QAliber does have a record-and-playback feature and White also has an alpha-quality recorder.)
Of course you could always go it directly from Microsoft's API's if you really want to get down and dirty.
Use the tools built into Visual Studio - Coded UI Tests:
http://msdn.microsoft.com/en-us/library/dd286681.aspx
There are two methods of doing this: Record and generate code (tends to be a good starting point, but often doesn't give you reproducible tests), and manually coding them up via UI object tree.
I ended up doing the second option most often, because I liked the code I wrote much better than what the recorder functionality offered.
You can try PROJECT SIKULI:
Sikuli is a visual technology to automate and test graphical user
interfaces (GUI) using images (screenshots). Sikuli includes Sikuli
Script, a visual scripting API for Jython, and Sikuli IDE, an
integrated development environment for writing visual scripts with
screenshots easily. Sikuli Script automates anything you see on the
screen without internal API's support. You can programmatically
control a web page, a Windows/Linux/Mac OS X desktop application, or
even an iphone or android application running in a simulator or via
VNC.
Here is a good blog post to get you started on UI Automation:
Silverlight UI Automation Testing using Prism 4.0
It's Silverlight based, but the Silverlight is very close to WPF, and the UI Automation concepts involved are exactly the same.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Scenario
I have recently graduated from university with a degree in Computer Science.
My degree mainly focused on C#.
I want to learn more and get better at what I do.
I notice a lot of companies always want their developers to know and use 3rd party tools.
Question
If I was developing C# Windows Forms applications, what 3rd party tools/libraries/controls etc. would be of use to me and for what reason?
The answer to this question depends on how you define "3rd party tools". I usually take that to mean products from companies other than MS but excluding free open source software. When it comes to 3rd party products (for-profit) I cannot think of any common products that I've used or been asked to learn over the last decade that I've been doing .Net development. Most MS shops I've worked with turn to MS solutions (for good or ill depending on your personal view).
That said, in recent years the number and quality of the various FOSS solutions out there has risen dramatically. I use the following whenever I can:
Logging: log4net
Inversion of Control Container (plus more): Castle Windsor
ORM: NHibernate
Unit Testing: NUnit
Mocks for unit testing: Rhino Mocks
For most of these projects there are many other options, these are just my current favorites. Learn to use these (and WHY they are needed) and you'll be many steps above the average .Net developer (sad but all to true).
The DevExpress and Telerik controls are pretty popular, but not free.
Some 3rd party .Net component providers that I've seen used in companies most often:
Telerik
Infragistics
They are not free. These kinds of providers offer large libraries of controls that you'd pick from to achieve your specific goals.
Many good suggestions here, I would also add a few other categories of tools:
Software configuration management/version control: CVS, Subversion, Git/Mercurial/Bazaar, Perforce, etc. Good use of SCM is essential for professional software development.
Issue tracking: Bugzilla, Trac, FogBugz, etc. I would also consider an issue tracking system to be a critical piece of software.
Documentation: Like it or not, it becomes very handy to know your way around Microsoft Word. Knowing how to manipulate styles, headings, numberings, cross-references, etc. can make your life a lot easier when writing documentation.
You'd probably want to have a look at Silverlight. It's a Microsoft alternative to Flash and uses C#. WPF are also something to look at for interfacing.
It might also be worthwhile looking at MOSS.
I've always liked the Xceed controls. In a lot of cases you could always build your own controls. The biggest advantage to using some of these packages is that it saves you the time and they have also been well tested (if not by the company then by the people that are using them).
I've used a couple of different packages over the years and found that if you can use one it's not that hard to use another. The biggest thing is knowing what is available out there so you don't spend two weeks building something that you could have just paid a few hundred dollars for.
You should know about resharper (helper for VS)
Crystal reports - for reports,
Some Grid tools (google it, there are many - I wouldn't bother to learn until need one)
and study advanced topics like: WCF, WPF
Cruise control or other building tool, bugnet or trac - bug management tools...
And of course - AQtime or other Profiling tools.
.NET Reflector
Hawkeye - The .Net Runtime Object Editor
Infragistics
I'd throw mono in there as well. Since you're looking to give yourself an advantage over other developers and improve your value to companies - having cross platform experience is advantageous as well.
There are a lot of 3rd party controls that will help you achieve more in less time. But I don't think many of them will really improve your coding skills (calling someone else to do all the work doesn't teach you much about how to actually do thise things yourself, but familiarity with them and the ability to learn new libraries is a good skill to practice)
Resharper is good for improving your coding skills (code analysis), coding style (autoformatting), and it's a great refactoring tool. It's expensive, though.
Microsoft do some free code analysis tools for Visual Studio (FXCop for code analysis, and there is also a Static Analysis addin) which will help improve your code quality.
AtomineerUtils (my own addin) encourages excellence in documentation and generally improves your code quality (by encouraging good naming style, etc)
Focus more on the tools used in the software development process. Enterprise Architect is used for designing applications from a high level. Once you design you application's business classes you can generate your classes' skeletons. You will be responsible for you code implementation once the class structure has been created.
For implementation purposes look at several C# platforms mentioned earlier. You want to focus Microsoft's WPF, WCF, WF. WPF is ok but it can not be used prior to .net 3.0 so check your client's requirements. I'm working on a project that targets the .net 2.0 because of restrictions by the client so the applicaiton was designed in WinForms. Silverlight is an option as well.
In addition, read up on design patterns as this will help you avoid creating high maintenance applications. A good book is Design Patterns in C#.
For testing look at the Visual Studio TFS system or third party programs like NUnit. You can google NUnit. This will help you ensure that your code does what you intended it to do on a granular scale.
Also, take a look at some of the source control software avaialbel like Subversion, Rational ClearCase, Visual SourceSafe. For large projects with multiple developers you'll need a source control tool that has multiple branches so that each developer has his or her own sandbox within the source control system.
I'm a big proponent of ComponentOne and use it in my new applications regularly. I find that if you're proficient in .NET winforms in general, C1 are very easy to pick up on and usually do what you want with little effort.
A couple people mentioned Telerik. I demoed it fairly extensively and found them to be a bit more complicated because they contain a ton of configuration options for look and feel. Awesome if you're some sort of graphic designer, but unless you're building the next Windows Media Player, I think it's overkill. The learning curve for the theming seemed a bit much for what I was trying to accomplish.
C1 and Telerik both run about $1000 to $1300 depending on what license you get.
You should also check out the Krypton toolkit. It free and has a lot of nice controls.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have a customer who needs to convert a diagramming application (which was developed in MFC a long time ago) to C#.
The application displays large networks (lots of graphical elements), and lets the user edit/manipulate the data through a graphical ui.
I decided that it would be best to use a library rather than to develop all from scracth (all graphic objects/selection/tools/events/etc)
I am looking for a commercial solution.
I found three that seem to be very mature, and I wonder if
anyone had used them and can write his/her opinon:
Tom Sawyer Visualization
IBM ILog Diagrammer for .Net
yWorks - yFiles for .Net
thanks
Yaron
I am not familiar with this libraries, but one of my old projects we have use GoDiagram library, and can suggest that too
For making good looking diagrams in .Net you should check out Frank Hileman's VG.Net. He's a reputed MVP and I believe his solution is really good:
http://www.vgdotnet.com/
I recommend MindFusion's Flowchart.NET. It's very easy to use and is very affordable considering it comes with a multitude of powerful layouting algorithms. Previously we used GoDiagram, but I recommend against it because their licensing system is a nightmare if you have build machines, and it's much more expensive.
I believe Dundas charts is the most famous one...or at least the most advertised one:
http://www.dundas.com/Microsite/ChartNET/Default.aspx?Campaign=GoogleCSharpChart&gclid=CM-wncOq354CFUmK3godxENfMQ
I know this probably isn't the best solution but I'm going to put it out there anyway.
I've done something similar to this using .Net's System.ComponenetModel.DesignSurface. This is the same design service used in Visual Studio's Windows Forms so all you do is create your controls, add your control designers if you want and you're good to go. You can use the PropertyGrid to display the data for each object as they are selected. Code Project has several articles about this like this one.
That said it's not going to be the best performance wise, I've got several thousand controls on my DesignSurface in some cases and it gets sluggish. You may be able to get around this by using another root designer type (WPF maybe?).
This could be a very good option if you already know how to do custom Windows Forms controls. And best of all it’s free!
Have a look at Orbifold. They have got WPF based solutions (commercial) or libraries supporting GDI+ (free).
It's also a good starting point for information about diagramming algorithms in general.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have to build a web application in a couple of weeks in your usual 3 tier, UI/Business Logic/Data Store, type way, however the customised UI really isn't achievable in anything but Silverlight or Flash (lots of custom vector drawing, fades, animation type stuff etc.).
Given I'm not a Flash developer, but am an excellent C# programmer, I'm going to use this project as an excuse to learn Silverlight 3. So, I have a couple of questions which I'd love to hear some thoughts on, to save me a lot of time up-front.
What is a great Silverlight 3 book? Unfortunately I'm not seeing an O'Reily book, which is usually my first preference. I'm looking for a book that gets right down to business, not a 'history of Silverlight' book. Here's a canvas, here's how you draw into it, type of thing. Is there value in buying a Silverlight 2 book, or has enough changed to not make this viable?
I want to use a mature Silverlight control library to take care of buttons, gauges, graphs, etc., so I can get on with the custom stuff I need to do. I've noticed there are a few different vendors. The ones I've looked at are: Telerik, ComponentOne, Infragistics and Syncfusion. Frankly they all look pretty good, but I'd love to know if anyone has concrete experience they could share to help me make a decision.
I've been noticing that Silverlight apps seem to run into performance problems vs similar Flash apps. Even the demos of the control vendors I mentioned in (2) seem to run at very variable framerates (I'm testing on a Mac with Safari 4 using Snow Leopard, but I notice this on IE and Chrome too on Windows 7). I don't mean to create a Silverlight vs Flash flame war here, it's just what I've noticed. Does anyone have gotchas I can steer clear of?
Thanks for your input.
Regards,
Shane
I can speak for number 2. I've used both telerik and silverlight control toolkit.
First off, the toolkit is free.
Open source, means you can edit your controls. Not updated very often.
Skinning is not really intuitive as telerik.
Telerik is very fast when it comes to updating their controls. Such as when SL3beta came out, they had a build 1 day after. When it comes down to customization, skinning is not really that simple for a newbie silverlight person. I went into editing their styles before i found out about skinning. Telerik's controls are not very flexible when it comes to customization as opposed to the open source sl toolkit.
They never crashed for me, my application sometime loads up over 100,000 rows in their datagrid at one time, loads fast also. I think they have a demo with over 1mil records.
All in all, telerik is commercial, you can get both the free control toolkit and telerik to look and perform the same, but telerik is somewhat noobproof and cuts your development time to about 1/3 of that for toolkit.
How i learned silverlight?
I was fooling around since the beta for wpf and used that knowledge in silverlight. How i kinda perfected that skill, I watched all of the tutorials from silverlight.net. Those give the foundations then whatever feature I want to use, I'd google it.
I was in your position regarding choosing a toolkit recently for a GIS application, which led me to ComponentOne's Silverlight Studio. The controls themselves are fantastic, but perhaps more importantly I have found the support (even during my free trial period) to be incredible.
disclaimer: I am in no way affiliated with ComoponentOne, just a happy customer.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
My boss thinks the VS 2008 IDE Window Manager(autohiding, docking of Solution Explorer, Properties, etc) is the best thing since sliced bread. I can't find a control that resembles that functionality in the Toolbox. Is there a control like that available that you know of? Or should I go ahead and implement it myself? Btw, we're using VS 2008 Express.
You don't have to create something that looks like the VS window manager - you can use the actual VS one with the Visual Studio Shell.
I believe it's aimed at creating developer tools, but I see no reason why it would have to be used that way. It's a bit like the Eclipse RCP, as I understand it.
I implemented in a real project the DockPanel Suit by Weifen Luo that worked very well and it is in production right now on a quite complex application (it is an application for the financial market that had very strict UI requirements in terms of performance and stability). It is really a very good implementation.
I even had to do some custom modifications and found the code to be very understandable and well written.
I'm sure there are several comparable comercial implementations from companies like Infragistics and similar, but if you are short on cash or just don't care for commercial support services for your components you can give it a try:
http://sourceforge.net/projects/dockpanelsuite
I just hope you're not developing a standard line of business app for non-technical users.
I was involved in a line of business app. that tried using the Magic library (from memory) and implemented property windows etc, so it looked "just like Visual Studio".
Then we released a prototype to the end users and they hated it. These were non-technical finance and accounts type people, some even power users. The major complaints were "windows don't stay in the same place", "too easy to accidently drag windows", "too fiddly" "my window keeps disappearing" etc etc.
Just because your boss thinks the Visual Studio IDE is great doesn't mean a thing if your target user group don't.
Don't forget that Visual Studio was designed/built by developers for developers. If your users aren't going to be overly technical it might be very wise to do some prototyping with them first.
There is a very good opensource project just for this. Look on SourceForge for DockingSuite Dock Panel Suite.
You should check out SandDock. The older versions were freely licenced (dunno if they are still available) and the newer versions are relatively cheap, especially considering the amount of time/money/sanity they would save you.
I would strongly recommend against trying to roll your own VM component. There is just too much work involved, and it wouldn't be worth it, if it wasn't your primary product.
Magic Libary
Dock Panel Suite
Dock Container
I personally think Magic Library is the best. Can't remember if it's OSS though.