高性能图表控件LightningChart HighDPI PC中的FormSizeChange问题解答

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。

点击下载LightningChart.NET最新试用版

问题:HighDPI PC中的FormSizeChange

我认为Chart可以在HighDPI PC中更改FormSize。
它没有出现在我的台式机上。
为什么会发生?
而且,如何解决?

1.表格已加载,尚未创建图表。
(后退屏幕是Excel)

在这里插入图片描述

  1. Button1Clicked,创建图表并在面板中添加。
    FormSize缩小,并且位置已更改。

在这里插入图片描述

  1. Button2Clicked,图表在面板中被清除。

FormSize和Location变为正常。

在这里插入图片描述

  1. Button1再次单击,将创建图表并在面板中添加。

但是FormSize和Location仍然是正常的。

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var lChart = new Arction.WinForms.Charting.LightningChartUltimate();
this.splitContainer1.Panel1.Controls.Add(lChart);
}
private void button2_Click(object sender, EventArgs e)
{
this.splitContainer1.Panel1.Controls.Clear();
}
}

规格

我的台式PC
操作系统:Win7 64位
显示尺寸:23inch
分辨率:1920 * 1080
DPI 96像素/英寸

HighDPI PC
操作系统:Win10 64位
显示尺寸:13.3inch
分辨率:1920 * 1080
DPI 166pixel / inch

回答

:该行为确实与DPI系统有关。在Windows中,关于DPI设置的处理,应用程序可以处于3种不同的状态之一。它们可以是不意识的,系统意识的,每个监视器意识的,或者可能没有定义意识(第四种选择)。

如果未在代码,应用程序清单或其他某种方式中定义WinForms应用程序对DPI的意识,则默认情况下该应用程序为不知觉,而DIP-PX无论Windows中定义了什么DPI设置,(设备独立像素/屏幕像素)系数都是1。创建LightningChart时,它会加载一些WPF库,因此,该应用程序的DPI感知将自动更改为WPF默认值(系统感知),并且DIP-PX因子将更改为Windows设置所定义的因子。删除图表后,DPI感知将恢复为原始。

若要解决此问题,您必须手动定义应用程序的DPI意识,以便WPF库默认设置不会影响程序。请注意,不必将DPI意识定义为“系统意识”或“每个监视器意识”,但也可以将其强制为不知道保留默认的WinForms功能。

设置DPI意识的最简单方法可能是通过修改(或添加)应用程序清单并将dpiAware设置为希望的值,如以下部分示例中所示。

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" a xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true/pm</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</asmv1:assembly>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值