除了創建自定義按鈕,自定義文本框和一個自定義標籤等,然後利用整個應用程序的所有形式的控制,然後更改默認的顏色,並根據需要這些控件的字體,有在包含多種表單的現有應用程序上實現這種類似css的功能的簡單方法?順便說一下,我知道我可以通過編程方式打開每個* .Designer.cs文件,然後搜索/替換「System.Windows.Forms。[Control]」的實例與「My.Namespace.My [Control ]「,但我不確定在代碼設置控件的字體和顏色以及類似屬性的情況下,這將如何工作。那麼它是否會確保自定義控件覆蓋所有相關的getter方法?在應用程序中更改多種表單樣式的最簡單方法是什麼?
0
A
回答
2
Windows窗體不提供任何形式剝皮。
一個簡單的解決辦法可能是寫某種擴展方法對Form
類:
public static void ApplySkin(this Form form, Skin skin)
{
foreach (Control ctrl in form.Controls)
{
if (ctrl is TextBox)
{
TextBox textBox = (TextBox)ctrl;
textBox.BackColor = skin.BackColor;
textBox.ForeColor = skin.ForeColor;
textBox.Font = skin.Font;
...
}
else if (ctrl is ComboBox)
{
ComboBox comboBox = (ComboBox)ctrl;
comboBox.BackColor = skin.BackColor;
comboBox.ForeColor = skin.ForeColor;
comboBox.Font = skin.Font;
...
}
else if (ctrl is ...)
}
}
0
關於Designer.cs文件 - 你應該避免不惜一切改變他們的代碼。他們被設計師使用,並由於某種原因而分離。
如果你想改變的東西,形式CTOR,調用的InitializeComponent(),只需調用自己的函數,你會喜歡的任何更改後(改變屬性值,如顏色,代表等)
如果你想幾種形式,以具有相同的風格(或功能),只是把這個方法在不同的類,並有所有的形式發送自己作爲參數,使用同樣的方法。
現在ofcourse方法不會知道哪些控制在形成這樣你就可以使用Controls.Find(表格的方法之一)來通過名稱定位控制。只要確保表單中的控件使用相同的約定正確命名(例如,所有列表框將命名爲listBoxX,其中X是數字...)。
相關問題
- 1. 什麼是Spring應用程序的最簡單的main()方法?
- 2. 部署WPF應用程序最簡單的方法是什麼?
- 3. 部署Meteor應用程序最簡單的方法是什麼?
- 4. 基於操作系統更改類樣式的最簡單方法是什麼?
- 5. 在Java應用程序中查看樣式文本(例如,以HTML格式)的最簡單方法是什麼?
- 6. 將iPhone應用程序更改爲iPad應用程序的最簡單方法是什麼?
- 7. 更改JTable多列排序行爲的最簡單方法是什麼?
- 8. 什麼是在非ASP.NET應用程序中生成HTML的最簡單方法?
- 9. 在iPhone應用程序中保存數據的最簡單方法是什麼?
- 10. 告訴應用程序是否在Lotus Notes中使用存儲表單的最簡單方法是什麼?
- 11. 什麼是一鍵更改桌面的最簡單的方法
- 12. 同步模型更改的最簡單方法是什麼? Rails
- 13. GWT應用程序樣式的最佳方法是什麼?
- 14. 在固定代碼應用程序中更改語言的最簡單方法是什麼?
- 15. 更新mnesia模式最簡單的方法是什麼?
- 16. 創建響應式圖像的最簡單方法是什麼?
- 17. 什麼是創建此Web應用程序的簡單方法?
- 18. 升級rails應用程序的簡單方法是什麼?
- 19. 什麼是創建標籤式菜單的最簡單方法?
- 20. jQuery的表單驗證最簡單的方法是什麼?
- 21. 在Ruby中獲取Lisp樣式(+ *參數)的最簡單方法是什麼?
- 22. 發佈Qt C++ GUI程序最簡單的方法是什麼?
- 23. 在Python中創建表格最簡單的方法是什麼?
- 24. 在RDBMS中映射表的最簡單方法是什麼
- 25. 在iOS應用程序中創建表單的最佳方法是什麼?
- 26. 用JQuery更新這些表單域的最簡單方法是什麼?
- 27. 做這樣的Nav最簡單的方法是什麼?
- 28. 在PC上運行簡單的GLES/EGL/OpenVG應用程序的最簡單方法是什麼?
- 29. 在一個解決方案中部署多個Web應用程序的最簡單方法是什麼?
- 30. 將BPM添加到J2EE應用程序的最簡單方法是什麼?
無需購買第三方庫,沒有一個簡單的方法來「皮膚」的app.AFAIK。看看DevExpress的產品。發現這個免費的[被遺棄的(但不知道是什麼樣子的使用):http://sourceforge.net/projects/guiss/ –
如果你用WPF工作,你可以與款式工夫,然後每個窗體上應用,但關於winforms,我不知道。 – trajce
我認爲telerik還提供了一些自定義表單。 – trajce