2012-08-26 26 views
2

在我們使用的謝里登的一款舊產品控制生產出看起來像這樣的按鈕:如何在C#中獲得這種風格的按鈕?

enter image description here

是使用VS2005這種風格的按鈕在C#中使用?

+0

按鈕控件的寬度和大小應該相應地設置,看起來像這樣 – aravind

+0

@aravind:C#Winforms中的標準按鈕看起來不是這樣。我怎樣才能達到上述按鈕的風格? – CJ7

+1

@aravind我認爲他的意思是風格本身,而不是尺寸。 CJ7,就我而言,這種風格取決於操作系統。如果你添加一個按鈕到你的窗體並改變你的Windows的外觀/主題,我很肯定他們會看起來像這樣。我認爲這是Windows 98 Clasic。 –

回答

7

按鈕查看GUI開發歷史的方式受機器功能的嚴重影響。這一切都始於80年代後期的簡單矩形,當時操作系統是16位,視頻適配器只能顯示16種顏色。三維風格在九十年代流行起來,謝里登是一個早期的先驅,並被廣泛複製。 Threed.ocx是一個微軟庫來獲得這個樣式。視頻適配器具有256種顏色和足夠的馬力可以繪製出斜邊。通過BorderStyle屬性,它的一些殘餘仍然存在於Winforms中。在Winforms開始的時候,2000年初,視頻適配器可以顯示1600萬種顏色,精細的漸變成爲時尚。在Winforms按鈕的默認樣式以及ToolStrip和StatusBar等控件中清晰可見。和Windows視覺風格的主題。這種造型的一個明顯的缺點是它不容易被覆蓋。 Winforms有四個不同的按鈕渲染器(請注意FlatStyle屬性),它們都是不能被覆蓋的私有類。它們太精細以至於很容易暴露。

這已經走完了一圈,我們現在回到簡單的扁平長方形。對於Windows 8中的WPF按鈕和Metro主題的默認樣式非常明顯。不再受機器功能的影響,但可能受到CSS(用於爲網頁提供樣式的語言)的限制。 Winforms也通過FlatStyle和FlatAppearance屬性支持它。

試圖恢復三維風格並不是那麼容易,你必須從頭開始創建一個ButtonBase作爲基類的自定義按鈕控件。並重寫OnPaint()以您想要的方式繪製按鈕。你甚至應該嘗試一下,這是相當值得懷疑的,3-D風格絕對不是時尚,而且與那些停止維護的舊程序密切相關。不是新程序中你想要的那種聯繫。

+0

你提到的'漸變'是什麼?什麼是一個例子? – CJ7

+0

在Winforms表單上放置一個按鈕。頂部爲光線,底部爲黑色。漸變。檢查LinearGradientBrush的MSDN庫。 –

0

如果你想要的按鈕就像你考慮使用按鈕的圖像?這樣你只需簡單地拍一下這種風格的圖像並將其製作成按鈕即可。你獲得了按鈕的所有功能,但你也可以看起來像你想要的。