c# - BorderStyle.Fixed3D 在 Windows 8 上呈现平面

标签 c# .net winforms windows-8 controls

当我将 System.Windows.Forms.ListView 放在 WinForm 应用程序中的表单上(使用 C#/.NET 4.5)时,它会呈现为平面矩形,即使 BorderStyle 属性设置为 Fixed3D。对于 TextBox 和许多其他控件也是如此。

这是表单设计器为ListView生成的代码。该表单只是一个普通的 Form,目前没有其他控件。

...
this.listView1.Location = new System.Drawing.Point(10, 115);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(250, 97);
this.listView1.TabIndex = 2;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
...

如果我打开较旧的程序(使用 VB6 或 .NET 2 完成),控件边框将以 3D 外观呈现(即控件以正确的 3D 边框呈现),而不是平坦的。

我可以做些什么来强制这些控件在 .NET 4.5 下呈现 3D 外观吗?

最佳答案

这确实有效,但我认为它也适用于表单上的所有控件,只需删除 Main( 中的 Application.EnableVisualStyles() 行即可) ) Program.cs 文件中的方法。

关于c# - BorderStyle.Fixed3D 在 Windows 8 上呈现平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039420/

相关文章:

c# - 组合框事件 SelectedValueChanged

C# JSON 解析与子字符串

C# Winforms : Debug strategies to find cause for System. AccessViolationException 异常

c# - 如何在这么多秒后调用一个方法?

c# - 表单关闭前显示的MessageBox

.net - 在 Powershell 中使用升级的 FolderBrowserDialog ("Vista style")

.net - 使用相对 URI

c# - 如何在 C# 异常中获取 ORA 错误代码?

c# - 返回错误 : not all code paths return a value

c# - 在嵌套条件中混合 HTML 和 Razor 代码