【问题标题】:Windows Forms form doesn't look nativeWindows 窗体看起来不是原生的
【发布时间】: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

标签: vb.net forms winforms


【解决方案1】:

【讨论】:

  • ...在引用任何 UI 元素之前
  • 就是这样!你知道我为什么要打电话给这个吗?当我创建“普通”WindowsForms 应用程序时,我从来不需要这样做,是因为我是从标准库而不是使用 Windows 应用程序模板创建的应用程序调用它吗??
  • @Master_T:查看Program.cs。模板会为您插入此调用。
猜你喜欢
  • 1970-01-01
  • 2012-06-17
  • 2017-10-08
  • 2010-12-08
  • 2010-09-07
  • 1970-01-01
  • 2011-03-22
  • 2021-09-09
  • 1970-01-01
相关资源
最近更新 更多