gpt4 book ai didi

c# - 如何给文本框一个 17.5 厘米的固定宽度?

转载 作者:太空狗 更新时间:2023-10-29 17:48:53 27 4
gpt4 key购买 nike

我有一个带有文本框的应用程序,文本框在屏幕上的宽度在用户屏幕上必须始终为 17.5 厘米。

这是我到目前为止尝试过的:

const double centimeter = 17.5; // the width I need
const double inches = centimeter * 0.393700787; // convert centimeter to inches

float dpi = GetDpiX(); // get the dpi. 96 in my case.

var pixels = dpi*inches; // this should give me the amount of pixels
textbox1.Width = Convert.ToInt32(pixels); // set it. Done.



private float GetDpiX()
{
floar returnValue;
Graphics graphics = CreateGraphics();
returnValue = graphics.DpiX;
graphics.Dispose(); // don’t forget to release the unnecessary resources
return returnValue;
}

但这给了我不同分辨率的不同尺寸。

13 cm 1680 x 105021.5 cm 1024 x 768

我做错了什么?

最佳答案

graphics.DpiX 方法不提供显示器每英寸的实际点数。它返回在 Windows 显示属性中设置的 DPI,主要是 96 或 120 DPI。

无法读取显示器的真实 DPI。 Microsoft 确实针对 Windows Vista/7 对此进行了研究,但只要显示器制造商不提供从显示器硬件读取值的标准方法,它就不可能实现。

关于c# - 如何给文本框一个 17.5 厘米的固定宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2854974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com