如何在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
。
刚试过它。 有用。