vb.net - 如何为VB.NET windows窗体中的控件分配被动易更改样式(类似于android styles.xml)
问题描述
我正在尝试将主题选项添加到我的 VB.NET 程序中,而不是为每个元素重复相同代码的肮脏方式......是否可以创建一些类似于我们在 android 中的样式方法?( styles.xml
)
我开始制作的第一件事是为我想在我的应用程序中使用的主题创建一个库,但我很快意识到使用常规的类/方法组仍然无济于事,因为我每次需要时仍然需要调用它们控件是主题,因为它不是被动的,如下所示:
Public Class Theme
Public Shared Sub SetThemeLight(c As Control, Gray As Boolean)
Dim LBack As Color = Color.White
Dim LBackGray As Color = Color.WhiteSmoke
Dim LFore As Color = SystemColors.ControlText
Dim LForeGray As Color = Color.FromArgb(51, 51, 51)
If Gray Then
c.BackColor = LBackGray
c.ForeColor = LForeGray
Else
c.BackColor = LBack
c.ForeColor = LFore
End If
End Sub
'...
'Somewhere else in the program for example
Public Class Main
Theme.SetThemeLight(TextBox1, False)
'...
这里的问题是过于简单,效率很低。我很想找到一种类似于 android 的有效主题方式styles.xml
解决方案
推荐阅读
- python - PyTorch Optimization: Is using map function on a torch.tensor without damaging computational graphs possible?
- c++ - Why must the constexpr specifier be explicitly specified for functions?
- python - 是否可以在 Python 中创建自定义 PDF 或工作表?
- c++ - 如何找出编译器生成了哪些函数?
- filepond - Filepond 上传状态在文件上传前显示“上传完成”
- django - GORM 的“有很多”关联没有创建外键?
- python - 使用不同的键获取 sortedcontainers.SortedKeyList 中的对象
- javascript - 在 Webscraping 上使用 Selenium 加载更多内容
- javascript - 无法在自动化中使用 selenium 和 javascript 和 jest framewok 关闭 cdk 下拉列表
- python - 如何在 Keras 中缩放梯度范数