Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加、编辑、删除列表中的项目<;字符串>;_C#_List_Listview - Fatal编程技术网

C# 添加、编辑、删除列表中的项目<;字符串>;

C# 添加、编辑、删除列表中的项目<;字符串>;,c#,list,listview,C#,List,Listview,我有一个字符串列表,list 我希望能够打开一个表单,显示此列表的内容,并允许用户在运行时添加、编辑和删除列表中的项目 我一直在看ListView,但它没有为我点击。我不确定这是因为它不是正确的解决方案,还是我不明白 对于我想做的事情,什么是正确的解决方案 Chuck您可以为您的目标使用列表视图和上下文菜单: 请尝试以下代码: List<string> listofstring = new List<string>() {"A","B","C" }; pr

我有一个字符串列表,
list

我希望能够打开一个表单,显示此列表的内容,并允许用户在运行时添加、编辑和删除列表中的项目

我一直在看ListView,但它没有为我点击。我不确定这是因为它不是正确的解决方案,还是我不明白

对于我想做的事情,什么是正确的解决方案


Chuck

您可以为您的目标使用
列表视图
上下文菜单
: 请尝试以下代码:

    List<string> listofstring = new List<string>() {"A","B","C" };
    private void Form1_Load(object sender, EventArgs e)
    {
        FillLstView();
    }

    private void Additem_Click(object sender, EventArgs e)
    {
        listofstring.Add("New Item");
        FillLstView();
    }

    private void RemoveItem_Click(object sender, EventArgs e)
    {
        listofstring.RemoveAt(lstview.FocusedItem.Index);
        EditItem.Enabled = false;
        RemoveItem.Enabled = false;
        FillLstView();
    }

    private void lstview_SelectedIndexChanged(object sender, EventArgs e)
    {
            RemoveItem.Enabled = true;
            EditItem.Enabled = true;
    }

    private void EditItem_Click(object sender, EventArgs e)
    {
        string input = Microsoft.VisualBasic.Interaction.InputBox("Enter Edit", "Title", "Edited", 0, 0);
        if (input != "")
        {
            listofstring[lstview.FocusedItem.Index] = input;
            EditItem.Enabled = false;
            RemoveItem.Enabled = false;
            FillLstView();
        }
    }

    private void FillLstView()
    {
        lstview.Clear();
        foreach (var item in listofstring)
        {
            lstview.Items.Add(item);
        }
    }
List listofstring=newlist(){“A”、“B”、“C”};
私有void Form1\u加载(对象发送方、事件参数e)
{
FillLstView();
}
私有void Additem\u单击(对象发送方,事件参数e)
{
添加(“新项目”);
FillLstView();
}
私有void removietem\u单击(对象发送方,事件参数e)
{
RemoveAt(lstview.FocusedItem.Index);
EditItem.Enabled=false;
removietem.Enabled=false;
FillLstView();
}
私有void lstview\u SelectedIndexChanged(对象发送方,事件参数e)
{
removietem.Enabled=true;
EditItem.Enabled=true;
}
私有void EditItem_单击(对象发送者,事件参数e)
{
字符串输入=Microsoft.VisualBasic.Interaction.InputBox(“输入编辑”、“标题”、“已编辑”,0,0);
如果(输入!=“”)
{
listofstring[lstview.FocusedItem.Index]=输入;
EditItem.Enabled=false;
removietem.Enabled=false;
FillLstView();
}
}
私有void FillLstView()
{
lstview.Clear();
foreach(listofstring中的var项)
{
lstview.Items.Add(项目);
}
}
结果


你在什么语言或环境下工作?不知道为什么会发生。。第一行应该是我有一个字符串列表,列表。感谢编辑,jwismar。我仍在掌握这方面的诀窍。Listview或datagridview可能是您希望使用的控件,因为它们具有您所述的所有功能。您是否在问如何在WPF或旧版Windows窗体中执行此操作?