我有一個基於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