【问题标题】:C# Listview LabelEditC# Listview 标签编辑
【发布时间】:2017-11-22 12:57:14
【问题描述】:
我想在我的 winform 应用程序中编辑 listview 的一列,我通过设置 LabelEdit = true 并在 KeyDown 事件中编写以下代码来做到这一点
if (e.KeyData == Keys.F2 && lvwColumns.SelectedItems.Count > 0)
lvwColumns.SelectedItems[0].BeginEdit();
编辑标签后,如何验证输入的值?如果该值为 null 或为空,我想阻止它保存。
【问题讨论】:
标签:
c#
winforms
listview
edit
【解决方案1】:
听起来您正在寻找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;
}
}
【解决方案2】:
使用这个AfterLabelEdit MSDN:
表格样本:
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;
}