Bonjour,
alors voila j'ai une listbox qui contient ma class car
une autre class pour Description
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class _Car { public enum car { [Description("Acura CL 3.2 Type-S `01")] chs0 = 1, [Description("Acura CL 3.2 Type-S `03")] chs1 = 2, [Description("Acura INTEGRA Type-R `01")] chs2 = 3, [Description("Acura NSX `04")] chs3 = 4, [Description("Acura NSX `91")] chs4 = 5, [Description("Acura NSX Coupe `97")] chs5 = 6, [Description("Acura RSX Type-S `04")] chs6 = 7 } }
donc je charge le tout comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public static class EnumHelper { /// <summary> /// Returns the description of an enum decorated with a DescriptionAttribute /// </summary> /// <param name="value">An Enumeration value</param> /// <returns>The description of an enumeration value</returns> public static string GetDescription(this System.Enum value) { var description = value.ToString(); var attribute = GetAttribute<System.ComponentModel.DescriptionAttribute>(value); if (attribute != null) { description = attribute.Description; } return description; } public static T GetAttribute<T>(System.Enum value) where T : System.Attribute { var field = value.GetType().GetField(value.ToString()); var attribute = ((T[])field.GetCustomAttributes(typeof(T), false)).FirstOrDefault(); return attribute; } }
ensuite je mais la textbox pour rechercher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public Form1() { InitializeComponent(); list(); } public void list() { foreach (_Car.car value in Enum.GetValues(typeof(_Car.car))) { listBox1.Items.Add(value.GetDescription()); } }
est la il y a un problème quand j'efface des lettres il n'actualise pas la liste même quand la textbox est vide quelqu’un aurait une idée svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 private void textBox1_TextChanged(object sender, EventArgs e) { var itemList = listBox1.Items.Cast<string>().ToList(); if (itemList.Count > 0) { listBox1.Items.Clear(); listBox1.Items.AddRange(itemList.Where(i => i.Contains(textBox1.Text.Trim())).ToArray()); } else if (textBox1.Text == "") { listBox1.Items.Clear(); list(); } }
Partager