这个 TextRenderer.DrawText 方法有 TextFormatFlags 参数。使用 TextFormatFlags.EndEllipsis 允许您在文本末尾使用省略号缩写文本,使其适合可用空间。不过,我想把省略号放在开头。奇怪的是,没有 TextFormatFlags 这样做的价值。
TextFormatFlags.EndEllipsis
TextFormatFlags
我已经考虑过自己逐渐缩短绳子,直到它符合 TextRenderer.MeasureText 但我担心表现。当然有更好的方法吗?
与其缩短,不如以“二进制搜索”的方式加长。
因为一个字符串可能比可见区域长很多,如果您从一个字符开始,每次迭代增长2倍,然后在超出长度限制后一次缩小几个字符,那么您应该有一个性能良好的截断算法。