编辑列表框中的项目
本文关键字:项目 列表 编辑 | 更新日期: 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;
}
}
希望它能有所帮助!
您可以简单地删除该特定位置的列表项,创建一个新项并再次添加。这是一种替代。