簡體   English   中英

c# - 改變我的窗體的外觀

[英]c# - changing the appearance of my windows form

我正在開發一個窗體。 我想更改窗體及其控件的物理外觀。 我能夠使用 Skincrafter 演示,但這使應用程序變得更重。 我對瀏覽選項卡、移動窗口等時的“沉重”感覺不滿意。這是一個相當簡單的程序,我在不使用 skincrafter 時沒有這個問題。 不使用它時,GUI 非常敏感,我想保持這種狀態。

我嘗試了許多不同的皮膚,結果在每種情況下都非常相似。

所以我不會使用 skincrafter,除非有人指出這種較慢的 GUI 的可能原因。 我跟着他們的教程,沒有做任何其他事情。 簡單的過程。 之前:快速 GUI - 之后:慢速 GUI。

誰能推薦我另一種更改控件/表單外觀的方法? 有沒有辦法在不依賴第三方皮膚軟件的情況下以編程方式更改控件和表單的外觀?

請注意,我不希望我的用戶更改皮膚。 我想申請一個,就是這樣。

謝謝史蒂夫

編輯:該項目還遠未完成,所以我將給 WPF 一些真正好的想法,所以當我有現在的 4 倍大時,我最終不會這樣做。 我已經開始轉換了,應該問題不大。 發現計時器和串行端口不能在工具箱的前面,計時器被調度計時器替換。 目前沒什么大不了的。 讓我想使用 WPF 的另一件事是我可能需要制作圖表(繪圖)來顯示溫度隨時間的變化。 我使用串行端口與讀取一堆溫度傳感器和風扇速度的外部 USB 控制器(虛擬 COM 端口)進行通信。 我懷疑使用 WPF 繪圖會更好。 最后一件事:它只是關於顏色/字體,但更多關於按鈕的外觀,實際窗口的外觀(邊框形狀)。 我想做的是用 html 和 css 做的類似的事情。 我確實想要自定義標簽,讓它們看起來像“數字顯示器”,用於實時溫度和風扇速度測量。

再次感謝大家提供的幫助!

在遙遠的過去,我通過子類化開箱即用的控件(標簽、文本框等),並讓該子類從 XML 文件(例如顏色、字體)中讀取外觀配置(也可以使用 app.config)。

這種方法很容易實現,我沒有看到明顯的性能下降。

如果您只想要一致的新外觀並且不需要讓最終用戶能夠從各種皮膚中進行選擇,那么子類化方法非常簡單。 例如,要修改Label的外觀:

public MyLabel : Label
{
    MyLabel()
    {
        this.ForeColor = Colors.Blue;
    }
}

然后,在您的代碼中當前有 Label 的任何地方,請改用 MyLabel。

如果您要開始一個新項目,我強烈建議您改用 WPF。 它提供了一個更加靈活的 UI 框架。 一個關鍵特性是它將外觀與 UI 實現分開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM