2010-09-12 24 views
5

我厌倦了图形用户界面和每一个可能的控制闪烁,关于双缓冲,ControlStyle标志等万万条甚至不工作的文章;看看这个例子:Winforms的替代方案,可以很容易地与C#和.NET一起使用

How to prevent a Windows Forms TextBox from flickering on resize?

阅读这个问题,其他的SO和网络,我认为在很多文章后有2个选项,写自己的控件,或者使用替代的WinForms。所以我的问题是:有什么好的选择,可以很容易用于Windows上的C#和.NET,甚至可能在Linux和Mac上(但这不是必需的)?但是,如果我错过了一切与Windows混乱,我会很高兴,如果你纠正我。

一件重要的事情,即使闪烁和其他问题都很烦人,它们并​​不妨碍工作完成,所以备选方案的优先级是充分发挥功能,否则,最好坚持使用古老的winforms。

回答

7

WPF,将是你的答案Windows窗体,如果你是在.NET平台上。

+1

只是可以肯定 - 如果让我选择我WPF将被捆绑到Windows比赢的形式就更多了,对不对? – SuitUp 2010-09-12 16:26:27

+0

@SuitUp - 是的。 Winforms代码更容易移植到其他GUI工具箱。 – 2011-05-02 14:47:46

2

我从来没有在我的winform程序中使用C#.NET中的VS2008闪烁。但是,如果您想要替代方案,则始终可以调用本机WIN API函数。虽然它比使用winforms复杂得多,所以你可能会后悔。您将不得不编写大量代码来从控件中填充和检索数据。

.NET开发的原因是为了使编程更容易(并且将数百万程序员锁定到Microsoft平台中)。我对此很开心。如果您已经花时间学习.NET平台,我认为您会坚持不懈地坚持下去。每个开发系统都有它自己的特点,并且你可能比使用.NET时遇到更多的麻烦,并且在遇到问题时可能很难找到某人来帮助你。

+0

检查我的问题链接,有信息如何在第一篇文章中重现闪烁(实际上也是问题)。 – SuitUp 2010-09-12 16:28:43

+0

好的,我按照你的建议做了这个项目,而且控制器在调整它的大小时确实闪烁。这是正常的Windows行为。在调整窗口大小时,我观察到Microsoft Word中的类似行为,Windows重新呈现文本。我说的是,问题是什么?用户多长时间调整一次使用的窗口大小?大多数人会以原始尺寸离开窗户,将其尺寸调整为他们喜欢的尺寸,或将窗户最大化。这是一个不需要解决方案的问题。我的想法是。除非我再误解。 – 2010-09-12 19:59:20

0

如果你不准备考虑使用WPF,你可以选择原生Qt C# bindings,但我认为WPF是你最好的选择。考虑一下你的编码风格 - 如果你已经习惯了使用绑定和命令,或者事件处理程序,WPF是最接近概念的。

我不认为这是一个好主意,考虑使用C#调用本地​​库,但如果你这样做,请让我们知道它是如何工作的!

0

WPF或Silverlight(网页+桌面项目)

相关问题