请问如何正确测量一个字符串的显示宽度?
Graphics的MeasureString方法在右边有空白字符的情况下好像不能正确取得,
如下代码,选中字符中只有空格时,不论选中多少个空格,结果都是4,
包含非空白字符时,
g.MeasureString(MaskTextBox1.SelectedText, MaskTextBox1.Font).Width
与
g.MeasureString(MaskTextBox1.SelectedText.TrimEnd(" "), MaskTextBox1.Font).Width
的结果一样。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Drawing.Graphics = MaskTextBox1.CreateGraphics
TextBox1.Text = g.MeasureString(MaskTextBox1.SelectedText, MaskTextBox1.Font).Width
g.Dispose()
End Sub
MaskTextBox1的Font为:宋体, 9pt
左边的空格不会导致这个问题。