获取c#中所有语言的文本长度(以像素为单位)

时间:2013-09-03 10:59:50

标签: c# checkbox combobox

我想知道如何计算复选框中文本的长度(以像素为单位)。文本语言可以更改为任何语言,如英语,罗马尼亚语,西班牙语,中文,日语等。

我在同一行中有一个复选框后跟一个组合框,这样当复选框文本的长度发生变化时(当语言被更改时),我想相应地更改组合框的位置,以便复选框组合框不会截断文本。

我尝试了TextRenderer.MeasureText方法。它适用于中文和日文,但对于其他语言,它没有返回正确的值。

有没有更好的方法来查找文本长度(以像素为单位)?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我假设您使用的是WPF。 您可以将复选框的实际宽度或伪造的不可见文本框绑定到ViewModel并将文本放在那里。

当文本更改时,控件宽度会发生变化,这将反映在您更改的属性

它有点走路,但它很简单并且可以工作:)