我有一个基于C#的双赢项目的ListView。是否有可能限制ListView中所有ListViewItem的标题的最大长度?限制ListViewItem的最大文本长度?
UPDATE
我的意思是输入长度,我的项目设置为可编辑的,所以用户可以重命名的项目
UPDATE2
权,这就是所谓的 “文本”该项目,而不是标题。
我有一个基于C#的双赢项目的ListView。是否有可能限制ListView中所有ListViewItem的标题的最大长度?限制ListViewItem的最大文本长度?
UPDATE
我的意思是输入长度,我的项目设置为可编辑的,所以用户可以重命名的项目
UPDATE2
权,这就是所谓的 “文本”该项目,而不是标题。
您可以利用ListView的label after edit event。这是一个示例。
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});
是的......你确实控制了进入ListView的内容,不是吗?所以只要不允许任何题目长于最大值的项目。或者我误解了你的问题? – 2012-04-04 07:14:09
试试这个[c#限制字符串的长度](http://stackoverflow.com/questions/3825979/c-limit-the-length-of-a-string) – PresleyDias 2012-04-04 07:59:51