2010-09-12 42 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(網頁+桌面項目)

相關問題