我有ListView
我尝试edit
一行。但我还需要更新e.Label
中的AfterLabelEdit
。是否有任何解决方法可以在此事件中更改e.Label
的值。例如,如果我输入了' Zip'当我点击输入时,它应该变成' Zip1'
答案 0 :(得分:1)
如果您修改listview
中某行的值,例如" zip" ,到" zip1" ,e.label
事件中AfterLabelEdit
的值将在您按Enter键后自动更改,或listview
离开焦点。您无法将值e.label
分配给e.label="zip1";
} e.label
的值除了" zip1"之外什么都不是。这是版本之后的价值。
答案 1 :(得分:1)
您可以根据某些条件取消编辑,并为项目的文本指定新值。
Label
包含标签的建议值,因此您可以根据该值编写标准。然后要取消编辑,它足以将事件参数的CancelEdit
属性设置为true
。然后使用其Item
属性,您可以找到编辑项目并为其设置新标签。
例如:
private void listView1_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
if (e.Label == "something")
{
e.CancelEdit = true;
((ListView)sender).Items[e.Item].Text = "something else";
}
}