我想在winform的应用程序中编辑listview
的列,我可以通过设置LabelEdit = true
并在KeyDown
事件中编写以下代码
if (e.KeyData == Keys.F2 && lvwColumns.SelectedItems.Count > 0)
lvwColumns.SelectedItems[0].BeginEdit();
编辑标签后,如何验证输入的值?如果值为null或为空,我想阻止它保存。
答案 0 :(得分:3)
听起来你正在寻找ListView.AfterLabelEdit
事件。
private void lvwColumns_AfterLabelEdit(object sender, System.Windows.Forms.LabelEditEventArgs e)
{
if (string.IsNullOrWhitespace(e.Label))
{
e.CancelEdit = true;
MessageBox.Show ("Please enter a valid value.");
return;
}
}
答案 1 :(得分:2)
表格上的样本:
public Form1()
{
InitializeComponent();
lvwColumns.LabelEdit = true;
lvwColumns.AfterLabelEdit += lvwColumns_AfterLabelEdit;
}
private void lvwColumns_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
if (String.IsNullOrWhiteSpace(e.Label))
e.CancelEdit = true;
}