首页 > 解决方案 > C# WinForms 文本大小问题(实际上无法理解结果)

问题描述

作为一个更大项目的一部分,我编写了终端模拟器。除了一个问题外,一切都工作文件。我不明白字体(大小)的值属性和屏幕像素之间的联系。

字体

        TermFont = new Font(FontFamily.GenericMonospace, fsize, GraphicsUnit.Pixel);

也与其他单位进行了测试。

我可以显示的字符数(两种方法都不起作用)。

        //FontSizef = tg.MeasureString(testString, TermFont);
        //int xchars = (int)(p.Width / FontSizef.Width) + 1;
        //int ychars = (int)(p.Height / FontSizef.Height);
        int xchars = (int)(p.Width / TermFont.Size) + 1;
        int ychars = (int)(p.Height / TermFont.Height);

第一种测量方法(注释)。我测量一个字符串的大小。由于它是等宽字体,因此所有字母都应具有相同的大小。测试了这两种方法。结果完全一样。

问题

它给我的字符数太少所以它看起来像这样: 在此处输入图像描述

可能我不明白单位制是如何工作的。

帮助表示赞赏:: 在此处输入图像描述

标签: c#winformsgraphicsfonts

解决方案


推荐阅读