编辑列表框中的项目

本文关键字:项目 列表 编辑 | 更新日期: 2023-09-27 18:27:55

我正在使用WinForms创建一个程序,这样用户就可以在一个表单上的文本框中输入信息,然后将其保存到另一个表单的列表框中。我希望能够通过单击按钮打开原始表单来编辑列表框中保存的项目。真的很挣扎,因为我想不出代码,似乎也找不到解决方案。我的代码:

private void btnAdd_Click(object sender, EventArgs e)
    {
        RoomDisplayForm newRoomDisplayForm = new RoomDisplayForm();
        newRoomDisplayForm.ShowDialog();
        if(newRoomDisplayForm.DialogResult == DialogResult.OK)
        {
            listBoxRooms.Items.Add(newRoomDisplayForm.value);
        }
        newRoomDisplayForm.Close();
    }
    private void btnRemove_Click(object sender, EventArgs e)
    {
        this.listBoxRooms.Items.RemoveAt(this.listBoxRooms.SelectedIndex);
    }
    private void btnEdit_Click(object sender, EventArgs e)
    {
    }

所以我有一个"添加和删除"按钮,它可以完美地工作,只需要一个编辑按钮的解决方案。

提前感谢

编辑列表框中的项目

我猜newRoomDisplayForm.value是表单中的一个属性或公共成员

private void btnEdit_Click(object sender, EventArgs e)
{
   if(listBoxRooms.SelectedIndex < 0) return;
   var tmpValue = listBoxRooms.Items[listBoxRooms.SelectedIndex].ToString();
   RoomDisplayForm newRoomDisplayForm = new RoomDisplayForm();
   newRoomDisplayForm.value = tmpValue;
   newRoomDisplayForm.ShowDialog();
   //TODO: inside "newRoomDisplayForm" set the value to the textbox
   // ie.: myValueTextBox.Text = this.value;
   if(newRoomDisplayForm.DialogResult == DialogResult.OK)
   {
      // replace the selected item with the new value
      listBoxRooms.Items[listBoxRooms.SelectedIndex] = newRoomDisplayForm.value;
   }
}

希望它能有所帮助!

您可以简单地删除该特定位置的列表项,创建一个新项并再次添加。这是一种替代。