C# 列表视图标签编辑

C# Listview LabelEdit

我想在我的 winform 应用程序中编辑 listview 的列,我通过设置 LabelEdit = true 并在 KeyDown 事件

中编写以下代码来完成
if (e.KeyData == Keys.F2 && lvwColumns.SelectedItems.Count > 0)
                lvwColumns.SelectedItems[0].BeginEdit();

编辑标签后,如何验证输入的值?如果该值为 null 或空,我想阻止它保存。

使用这个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;
    }

听起来您正在寻找 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;
   }
}