views:

121

answers:

6

I am tired of flickering of GUI and every possible control, milions of articles about double-buffering, ControlStyle flags and so on that don't even work; look at this examples:

http://stackoverflow.com/questions/1333393/how-to-prevent-a-windows-forms-textbox-from-flickering-on-resize

After reading this question, other on SO, and many articles on the web i think there are 2 options, write own controls, or use alternative to the winforms. So my question is: what are good alternatives that can be easily used with C# and .NET on Windows, and maybe even on Linux and Mac (but this is not necessary)? However if i missing something with all that windows mess, i will be glad if you correct me.

One important thing, altough flickering and other problems are annoying, they not prevent job getting done, so alternatives priority is to be fully functional, otherwise, it's better to stick with ancient winforms.

+3  A: 

What about these alternatives?

Andrew Hare
+5  A: 

WPF , would be your answer to winforms if you are on .net plateform

saurabh
Just to be sure - if i choose WPF i will be tied to windows even more than with win forms, right?
SuitUp
+1  A: 

I have never experienced flickering in my winform programs with VS2008 in C#.NET. However, if you want an alternative, you could always call the native WIN API functions. It is much more complicated than using winforms though, so you would probably regret it. You will have to write a LOT of code to populate and retrieve data from your controls.

The reason .NET was developed was to make programming easier (and to lock millions of programmers into the Microsoft platform). I am very happy with it. If you have invested the time to learn the .NET platform, I think you would be better off sticking with it. Each development system has its own peculiarities, and you may have more trouble than you would have with .NET, and it might be harder to find someone to help you when you have a problem.

James Carr
Check link from my question, there is info how to reproduce flickering in first post (question too actually).
SuitUp
OK, I did the project as you suggested, and the control did indeed flicker as I resized it. This is normal Windows behavior. I observe similar behavior in Microsoft Word as I resize the window and Windows re-renders the text. What I am saying is, what is the problem? How often do users resize the window they are using? Most people either leave the window at the original size, resize it to the one size they like, or maximize the window. This is a problem that does not need a solution. In my opinion. Unless I have misunderstood again.
James Carr
A: 

If you are not prepared to consider using WPF, you could go for the native Qt with C# bindings but I think WPF is by far your best bet. Consider your coding style - if you are already used to using bindings and commands, or event handlers, WPF is the closest conceptually.

I don't think it's a good idea to consider using C# to call a native library but if you go that way, please let us know how it works out!

Andy Dent
+1  A: 

Have you seen this SO question? It might help you with the flickering problems.

Zach Johnson
A: 

WPF or Silverlight (for web+desktop projects)

Andrey