TextRenderer.DrawText方法有一个TextFormatFlags参数。使用TextFormatFlags.EndEllipsis
允许您在末尾用省略号缩写文本,以使其适合可用空间。但是,我想把省略号放在开头。奇怪的是,没有TextFormatFlags
值可以做到这一点。
我已经考虑过根据TextRenderer.MeasureText逐渐缩短字符串,但我很担心表现。当然有更好的方法吗?
答案 0 :(得分:2)
不应缩短,而应以“二元搜索”的方式延长。
由于字符串可能比可见区域长得多,如果从一个字符开始,每次迭代增长2倍,一旦超出长度限制,则每次缩小几个字符,你应该有一个高效的截断算法。