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

我在winform上创建了一个用户控件,我希望在运行时在Label Control上显示一些文本。 在这里,我使用textFormatFlag作为WordBreak,然后在下一行显示它。 标签尺寸的宽度固定,高度可变。 现在问题是如果字符串中没有WordBreak存在之间没有空格,如何打破字符串。 我不想对字体大小进行计算,因此修改字符串。 它是否隐藏在.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| -----------------------------------------------| 

我想要的是

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

由于您使用的是标签控件,因此将AutoSize设置为true,并将MaximumSize属性设置为MaximumSize

刚试过它。 有用。