首先参考了这篇文章
c# winform 中如何修改listbox的某项值,如何删除某项值。
但是这里面的Items是预先输入好的,而我需要的修改的是绑定DataSource的值。ListBox绑定DataSource后,界面上的值是不允许修改的,我这里通过修改DataSource,然后重新绑定回去,实现了界面上修改某一行的值。
具体实现:
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (listBox1.SelectedItem != null)
{
double[] re = (double[])listBox1.DataSource;
int index = this.listBox1.SelectedIndex;
//将原始值传递给窗体
FormDialogValue form = new FormDialogValue(re[index]);
form.ShowDialog();
re[index] = form.ReturnValue;
listBox1.DataSource = null ;
listBox1.DataSource = re ;
listBox1.Refresh ();
//MessageBox.Show(listBox1.SelectedItem.ToString());
}
}