【发布时间】:2016-05-14 11:31:28
【问题描述】:
我已将一个 Windows 窗体表单添加到 VB.net 应用程序中,并以通常的方式显示它:
Dim form As New FormInsCapiLettore()
form.ShowDialog()
问题在于,当显示该表单时,“windows 95”样式非常难看。基本上系统主题(在我的例子中是 Windows 10)没有得到应用。结果在下面的截图中:
如您所见,它不仅看起来丑陋且非本地,而且布局也搞砸了:注意TextBox 溢出“输入”GroupBox 和“Fine”Button 未填充垂直空间。
请注意,该表单在 Visual Studio 设计器中看起来非常好,具有原生外观!但启动时,表单没有主题,看起来像屏幕截图。
有什么线索吗?附加信息: 运行 Windows 10 x64 视觉工作室 2015 针对 .NET 4.0 编译的应用程序
【问题讨论】:
-
嗯,不,这就是Win10主题的样子。从右上角的框架按钮和 1 像素窗口边框清晰可见。是 Visual Studio 设计器无法正确呈现具有 Win10 视觉样式的表单,您会看到 Win7 框架样式。这是视觉风格渲染器的一个硬限制。如今,让您的应用具有 dpiAware 感知功能非常重要。
-
抱歉,我开发了许多 WinForms 和 WPF 应用程序,而 windows 10 主题看起来不像那样。看按钮! Win10 上的按钮看起来不像,它们有更深的阴影、更扁平的外观和边框。
-
首先,他们在最新更新之一中启用了自定义标题栏颜色。其次,我说的是窗口的内容,而不是边框。 SLaks 的答案是正确的,事实上这就是它现在的样子。注意 UI 元素的不同之处:imgur.com/7ovfkLp