想要跟踪每个插入ComboBox
数据类型为字符串的数据。所以我认为将项目文本与我的数据合并是个好主意
但是我需要一种方法来隐藏项目列表中的数据。
以下是我想要的一个简单示例:
"First item text Data:This was a dog"
"Second item text Data:This was a girl"
"...item text... Data:...."
我需要找到一个隐藏用户数据的解决方案
已经尝试将ComboBox的MaxLength
设置为20,但没有成功
注意:我不允许使用任何其他类来实现此目的,因此Stack,Queue无法帮助
答案 0 :(得分: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"));
答案 1 :(得分: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]