0

想要跟踪每个插入ComboBox数据类型为字符串的数据。所以我认为将项目文本与我的数据合并是个好主意。
但是我需要一种方法来隐藏项目列表中的数据。

这是我想要的一些简单示例:

"First item text             Data:This was a dog"
"Second item text            Data:This was a girl"
"...item text...             Data:...."

我需要找到一种解决方案来向用户隐藏数据。
已经尝试将MaxLengthComboBox 设置为 20,但没有成功。
注意:我不允许使用任何其他类来实现这一点,所以 Stack, Queue 无济于事

4

2 回答 2

2

c#组合框中的每一项都有两个属性,分别是text和value。将项目值设置为所需的数据,将文本设置为要为用户显示的字符串。

mycomboBox.Items.Add(new ListItem("Value To Display", "actual value"));
mycomboBox.Items.Add(new ListItem("First item text", "This was a dog"));
于 2013-02-23T12:25:35.147 回答
0

行。让我们考虑这个简单的方法:

For i = 0 to n
   set combobox[i] to substring(0, m)

这样每个项目都只是一个包含要出现的赞赏文本的子字符串。

"First item text Data:This was a dog"例如,如果项目是,则此代码仅显示部分"First item text":(在 C# 中)

string str = "First item text             Data:This was a dog";
string shown = str.Substring(0, str.IndexOf("text") + 4);
string hidden = str.Substring(shown.Length);

并且只需处理SelectedIndexChanged事件以使用所选项目的数据更新 UI。

private readonly string[] data = new[] { "This was a dog", "This was a girl" };

然后显示数据[comboBox.SelectedIndex]

于 2013-02-23T12:25:58.540 回答