我有一个label
控制权windows form
。我想在label
. 条件是这样的:
- 如果文本长度超过 32 个字符,它将出现在新行中。
如果可能的话,用完整的单词分割,不带连字符(-)。
到目前为止,我已经达到了以下代码:
private void Form1_Load(object sender, EventArgs e) { string strtext = "This is a very long text. this will come in one line.This is a very long text. this will come in one line."; if (strtext.Length > 32) { IEnumerable<string> strEnum = Split(strtext, 32); label1.Text =string.Join("-\n", strEnum); } } static IEnumerable<string> Split(string str, int chunkSize) { return Enumerable.Range(0, str.Length / chunkSize) .Select(i => str.Substring(i * chunkSize, chunkSize)); }
但问题是最后一行没有完全显示,因为它被 32 个字符分割。
还有另一种方法可以实现这一目标吗?