Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中测量控件内字符串的大小?_C# - Fatal编程技术网

如何在C#中测量控件内字符串的大小?

如何在C#中测量控件内字符串的大小?,c#,C#,控件内部如何测量文本字符串是否将被剪切 我使用的是返回值的代码。但当文本的高度和宽度与控件的高度和宽度相同时,也会发生剪切。因此,如何找到或任何其他API都可以找到文本剪切 FormattedText formattedText = new FormattedText( testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Ty

控件内部如何测量文本字符串是否将被剪切

我使用的是返回值的代码。但当文本的高度和宽度与控件的高度和宽度相同时,也会发生剪切。因此,如何找到或任何其他API都可以找到文本剪切

FormattedText formattedText = new FormattedText(
        testString,
        CultureInfo.GetCultureInfo("en-us"),
        FlowDirection.LeftToRight,
        new Typeface("Verdana"),
        32,
        Brushes.Black); 

我希望在WPF中找到字符串的像素宽度和高度。
我提到的那个函数给出了值,但当文本大小和控件大小相同时,就会发生文本剪切。那么,如何知道文本剪切何时发生?

我无法理解您的问题。你能澄清一下吗?您只是在寻找一种在WPF中测量字符串的方法吗?Win Forms还是WPF I take?当您想要测量字符串时,您应该查看或稍微更精确的or(更接近控件在WinForms中实际绘制文本的方式)。或者调用formattedText上的measure,然后查看DesiredSize属性(别忘了根据需要设置附加的TextOptions.TextFormattingMode属性)。如果字符串大小大于TextBox,则使用FormattedText无法获取字符串宽度和高度