.net - 是否可以为 Visual Basic WinForms 项目设置项目范围的表单主题?

标签 .net vb.net winforms themes

我正在从事的项目是在 Visual Basic .NET 中为客户开发的,大约两三年前就开始了。自从大约六个月前我被带入该项目以来,我一直在努力改进所涉及的工作流程,我发现的问题之一是与项目的外观有关。

项目的每个表单都被强制要求使用特定的颜色(表单背景为白色,按钮为红底白字,诸如此类),而不是使用默认的 Windows 样式。到目前为止,这是通过每次创建表单时手动设置所有属性来处理的,但这往往意味着每次创建新表单时都要进行大量繁琐的属性设置,并导致少数表单不使用正确的配色方案。

我在想一定有更简单的方法来处理这个问题。研究它发现了一些框架,可以让您使用常规表单的替代品,以便您可以支持复杂的主题,但该项目已经有数百种表单,使用新框架重做它们将是一项艰巨的任务(更不用说代码很脆弱,很多应用程序逻辑都在前端,所以出现问题的可能性非常高)。

长话短说:我想知道是否有一些简单的方法可以应用可以在 Visual Studio 中在整个项目范围内访问的主题,而无需在每次创建表单时都进行设置。如果它不像拨动开关那么简单,我并不特别介意,但理想情况下,旧形式可以相对容易地 retrofit 使用。

最佳答案

进一步调查,据我所知,对于这种情况并没有真正合适的解决方案。很高兴被证明是错误的,但据我所知,WinForms 不允许您设置应用程序范围的配色方案,它使用它来代替操作系统为控件定义的基本主题(可能有充分的理由),并且所有替代方案都涉及使用昂贵的库,这些库需要使用完全不同的控制集(意味着对现有组件进行大量彻底替换)。

关于.net - 是否可以为 Visual Basic WinForms 项目设置项目范围的表单主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406535/

相关文章:

c# - Crystal 报表 :Hide/suppress field in report depending on user input/parameter

c# - 使用 BinaryReader 读取大文件(>1 GB)时,最佳缓冲区大小是多少?

c# - 如何将我的 python 模块及其依赖项(例如 Numpy/Scipy)打包到一个文件中,例如用于 C# 调用的 dll?

.net - 控制迭代循环内的递归

.net - 为什么我不能在 system32 中运行我的 exe?

c# - 如何在显示后立即安全关闭表单?

c# - 使用 lambda 表达式进行复合选择

c# - Entity Framework 5 和 SQL 查询

c# - 更改文件的 ACL 以允许所有人完全访问

C# Windows 窗体类型转换错误