替代winforms,可以很容易地与C#和.NET一起使用

时间:2010-09-12 03:50:15

标签: c# .net winforms

我厌倦了GUI的闪烁和每一个可能的控制,数百万篇关于双缓冲的文章,ControlStyle标志等甚至都不起作用;看看这个例子:

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

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

一个重要的事情,尽管闪烁和其他问题令人讨厌,它们并不能阻止工作完成,所以替代优先事项是完全正常运作,否则,最好坚持使用古代的winforms。

6 个答案:

答案 0 :(得分:7)

WPF,如果您使用的是.NET平台,那将是您对Windows窗体的回答。

答案 1 :(得分:6)

这些替代方案呢?

答案 2 :(得分:2)

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

开发.NET的原因是为了简化编程(并将数百万程序员锁定在Microsoft平台上)。我对此很开心。如果你花时间去学习.NET平台,我认为你最好坚持下去。每个开发系统都有自己的特点,你可能比使用.NET时遇到更多麻烦,当你遇到问题时可能更难找到帮助你的人。

答案 3 :(得分:2)

你见过this SO question吗?它可能会帮助你解决闪烁的问题。

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

WPF或Silverlight(适用于网络和桌面项目)