DotNetBar for WinForms入门教程(四):如何标记WinForms应用程序以获得高DPI支持?

翻译|使用教程|编辑:况鱼杰|2020-03-26 10:18:20.610|阅读 25 次

概述:本文章将会介绍如何标记WinForms应用程序以获得高DPI支持,以及如何更改默认的ButtonX和ButtonItem颜色,WinForms的DotNetBar。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

DotNetBar for WinForms是一个拥有89个组件的用户界面控件套包,用户可以使用Visual Studio 2005-2015轻松地创建专业的用户界面。十多年来DotNetBar帮助开发人员轻松地创建易用的专业Windows Forms (WinForms) 用户界面。

点击立即下载DotNetBar for WinForms


要将您的WinForms应用程序标记为DPI感知并在DotNetBar中为WinForms启用High DPI支持(从DotNetBar 12.8和更高版本开始),请确保您的应用程序包含带有以下条目的app.manifest文件:

<asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>

在这里,您可以下载带有此条目的app.manifest文件,并将其包含在您的项目中,如下所示。
  • 提取app.manifest文件并将其放置在与C#或VB项目相同的文件夹中。
  • 在VS.NET解决方案资源管理器窗口中,单击显示所有文件工具栏按钮。

AppManifestStep1

  • 右键单击app.manifest文件,然后选择包含在项目中。

AppManifestStep2

  • 在解决方案资源管理器中选择您的项目,然后单击属性工具栏按钮。

AppManifestStep3

  • 在项目属性窗口中的清单下,选择app.manifest文件,即可完成操作。

扩展文章:

如何更改默认的ButtonX和ButtonItem颜色,WinForms的DotNetBar

使用主窗体Load事件中的以下代码,请注意,如果使用StyleManager更改了样式,则必须再次应用这些更改。
C#:

using DevComponents.DotNetBar.Rendering;
using DevComponents.DotNetBar;
 
private void Form1_Load(object sender, EventArgs e)
{
    // Change mouse over colors for the default ButtonItem color table and the ButtonX color table
    Office2007ColorTable table = ((Office2007Renderer)GlobalManager.Renderer).ColorTable;
 
    // Default ButtonItem Color
    Office2007ButtonItemColorTable bt = table.ButtonItemColors[0];
    bt.MouseOver.TopBackground = new LinearGradientColorTable(Color.Red);
    bt.MouseOver.BottomBackground = new LinearGradientColorTable(Color.Yellow);
    bt.MouseOver.OuterBorder = new LinearGradientColorTable(Color.Green);
    bt.MouseOver.InnerBorder = new LinearGradientColorTable(Color.Gold);
 
    // Change default ButtonX color
    bt = table.ButtonItemColors[Enum.GetName(typeof(eButtonColor), eButtonColor.OrangeWithBackground)];
    bt.MouseOver.TopBackground = new LinearGradientColorTable(Color.Green);
    bt.MouseOver.BottomBackground = new LinearGradientColorTable(Color.Gold);
    bt.MouseOver.OuterBorder = new LinearGradientColorTable(Color.BlueViolet);
    bt.MouseOver.InnerBorder = new LinearGradientColorTable(Color.BurlyWood);
    bt.MouseOver.Text = Color.Red;
}
VB:
Imports DevComponents.DotNetBar.Rendering
Imports DevComponents.DotNetBar
 
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
	' Change mouse over colors for the default ButtonItem color table and the ButtonX color table
	Dim table As Office2007ColorTable = CType(GlobalManager.Renderer, Office2007Renderer).ColorTable
 
	' Default ButtonItem Color
	Dim bt As Office2007ButtonItemColorTable = table.ButtonItemColors(0)
	bt.MouseOver.TopBackground = New LinearGradientColorTable(Color.Red)
	bt.MouseOver.BottomBackground = New LinearGradientColorTable(Color.Yellow)
	bt.MouseOver.OuterBorder = New LinearGradientColorTable(Color.Green)
	bt.MouseOver.InnerBorder = New LinearGradientColorTable(Color.Gold)
 
	' Change default ButtonX color
	bt = table.ButtonItemColors(System.Enum.GetName(GetType(eButtonColor), eButtonColor.OrangeWithBackground))
	bt.MouseOver.TopBackground = New LinearGradientColorTable(Color.Green)
	bt.MouseOver.BottomBackground = New LinearGradientColorTable(Color.Gold)
	bt.MouseOver.OuterBorder = New LinearGradientColorTable(Color.BlueViolet)
	bt.MouseOver.InnerBorder = New LinearGradientColorTable(Color.BurlyWood)
	bt.MouseOver.Text = Color.Red
End Sub


想要获得DotNetBar for WinForms更多资源、正版授权的伙伴,请咨询【慧都客服】了解

关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。

慧聚IT




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:Devcomponents http://www.devcomponents.com/kb2/?p=1813

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
DotNetBar for WinForms

一个拥有超多组件并能轻松创建专业用户界面的控件套包。

在线
客服
在线
QQ
咨询
电话
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat