gpt4 book ai didi

c# - 我将如何更改组合框中的项目?

转载 作者:行者123 更新时间:2023-12-02 05:19:07 24 4
gpt4 key购买 nike

我想让用户操作我放入组合框中的数据。问题是我想不出一种方法来将更改应用到组合框中的数据。关于如何实现这一目标的任何线索?

为了添加一些上下文,我的组合框中的所有数据都是格式为“SomeName|#”的字符串。末尾的数字由用户修改为他/她想要的任何值。

最佳答案

您是否要更改所选组合框项目中的文本?

   comboBox.Items[comboBox.SelectedIndex] = "SomeName|#";

至于改变数据,如果上面不是你想要的,那么试试这个:

// Get the selected the data from the combobox 
MyData data = comboBox.Items[comboBox.SelectedIndex] as MyData;
// Perform your operations
data.myData = "NewData";
// Add the modified data back
comboBox.Items[comboBox.SelectedIndex] = data;

如果绑定(bind)到列表:

  // When adding new Data
MyData newData = new MyData("Data1");
comboBox1.Items.Add(newData);
myDataList.Add(newData);

// When modifying selected data
MyData data = comboBox1.Items[comboBox1.SelectedIndex] as MyData;
data.myData = "NewData";
comboBox1.Items[comboBox1.SelectedIndex] = myDataList[comboBox1.SelectedIndex] = data;

如果您想知道 MyData 是什么:

public class MyData
{
public string myData;

public MyData(string p)
{
myData = p;
}

public override string ToString()
{
return myData;
}
}

编辑好的,如果您要绑定(bind)到数据源,则需要先解除绑定(bind),假设数据源是 myDataList:

        // Get the selected data
MyData data = myDataList[comboBox.SelectedIndex] as MyData;
// Unbind
comboBox.DataSource = null;

// When adding new Data
MyData newData = new MyData("NewData" + myDataList.Count());
myDataList.Add(newData);

// When modifying selected data
data.myData = "ModifiedData";

// Rebind
comboBox.DataSource = myDataList;

关于c# - 我将如何更改组合框中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com