如何在C#中进行文本格式化以调整某些控件中的文本

如何在C#中进行文本格式化以调整某些控件中的文本,c#,winforms,formatting,label,C#,Winforms,Formatting,Label,我在winform上创建了一个用户控件,希望在运行时在Label控件上显示一些文本。 这里我使用textFormatFlag作为分词符,然后在下一行显示它。标签的大小在宽度上是固定的,而在高度上是可变的。现在这里的问题是,如果字符串之间没有空格,即字符串中没有分词符,如何断开字符串。 我不想计算字体大小并相应地修改字符串。是隐藏在.net中的某种东西可以帮我完成这项工作吗 sizeCategory = TextRenderer.MeasureText(Source["Parent_Nam

我在winform上创建了一个用户控件,希望在运行时在Label控件上显示一些文本。 这里我使用textFormatFlag作为分词符,然后在下一行显示它。标签的大小在宽度上是固定的,而在高度上是可变的。现在这里的问题是,如果字符串之间没有空格,即字符串中没有分词符,如何断开字符串。 我不想计算字体大小并相应地修改字符串。是隐藏在.net中的某种东西可以帮我完成这项工作吗

    sizeCategory = TextRenderer.MeasureText(Source["Parent_Name"].ToString()
                  , lbldbCategory.Font
                  , sizeCategory
                  , TextFormatFlags.WordBreak);
将线条视为标签的边界。宽度和高度。高度是可变的。 考虑这个问题:

我的文本字符串正在

"salkdjasldjkslakdjlsakjdlsakjdkajhk sdjahksajd" //see word break between the string
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhk            |
sdjahksajd                                     |
-----------------------------------------------|
我所做的现在得到的是这个

由于断字

-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjd                 |
kajhksdjahksajdh                               | 
-----------------------------------------------|
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhksdjahksajdhasdasdasdsadasd|
-----------------------------------------------|
当字符串没有空格,即没有分词符时发生的情况是

-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjd                 |
kajhksdjahksajdh                               | 
-----------------------------------------------|
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhksdjahksajdhasdasdasdsadasd|
-----------------------------------------------|
我想要的是

-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhksdjahksajdha|
sdasdasdsadasd                                 |
-----------------------------------------------|

由于您使用的是标签控件,请将
AutoSize
设置为true,并将
MaximumSize
属性设置为类似
150,0
的值


刚刚测试过。它可以工作。

我没有找到任何MaxSize属性,我不能自动调整大小,否则它将开始水平增长,而我不能。我可以自由地让它在高度上生长,只有我的错,它是
最大尺寸
。而且,如果你设置了最大宽度,它将不会水平增长。你让我的工作突然变得简单。我在3-4天内完成了所有计算工作,所有这些都没有达到最大值。现在我把它改成这个属性,在不到30分钟的时间内完成了60%。100%的投票值得感谢