限制ListViewItem的最大文本长度
本文关键字:文本 ListViewItem 限制 | 更新日期: 2023-09-27 18:30:08
我在一个基于C#的获胜表单项目中有一个ListView。是否可以限制ListView中所有ListViewItem的标题的最大长度?
更新
我指的是输入长度,我将项目设置为可编辑,这样用户就可以将项目重命名为
更新2
对,它被称为该项目的"文本",而不是标题。
您可以在列表视图的编辑事件后使用标签。这是一个样品。
private void listview1_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
try
{
const int maxPermittedLength = 1;
if (e.Label.Length > maxPermittedLength)
{
//trim text
listview1.Items[e.Item].SubItems[0].Text = listview1.Items[e.Item].SubItems[0].Text.Substring(0, maxPermittedLength); //or something similar
//or
//show a warning message
//or
e.CancelEdit = true; //cancel the edit
}
}
catch (Exception ex)
{
}
}
记住,这很棘手,并不简单,你必须处理一些例外情况,但这是家庭作业。。上面的代码不是一个工作代码,但你现在已经知道如何进行了。好好阅读文档,它有一个很好的例子和与此事件相关的警告。
ListViewItem的标题是什么意思?你的意思是项目文本吗?我相信任何可收回的东西都是可修复和可控的。如果是项目文本,你可以写一个检查方法
public string SimplifyTxt(string input)
{
if(input.Length>LIMIT_NUMBER)
{
//please shorten the string before display
}
return retStr;
}
然后可以将其指定为
listview1.items.add(new Listviewitem{Text=retVal});