2010-06-09 15 views
1
public static Hashtable m_results = new Hashtable(); 
private BindingSource m_bindResults = new BindingSource(); 

// in static constructor 
m_results.Add(MyResultTypes.Failed, "Failed"); 
m_results.Add(MyResultTypes.Pending, "Is Pending"); 
m_results.Add(MyResultTypes.Completed, "Was Completed"); 
m_results.Add(MyResultTypes.Cancel, "Cancel it"); 
m_defaultResult = MyResultTypes.Pending; 

// in instance constructor 
m_bindResults.DataSource = m_results; 
comboResult.DataSource = m_bindResults; 
comboResult.ValueMember = "Key"; 
comboResult.DisplayMember = "Value"; 
comboResult.SelectedValue = m_defaultTimeoutResult; 

Le code ci-dessus ne marche pas :) Il utilisait pour utiliser des chaînes pour les clés en hashtable au lieu de enum MyResultTypes, et cela fonctionnait. Ce qui se passe maintenant, c'est que la zone de liste déroulante est remplie avec les valeurs d'une table de hachage (comme je le veux), mais la valeur sélectionnée par défaut n'est pas sélectionnée.C#: Comment lier HashTable à un ComboBox via Enum comme une clé?

Comment utiliser les énumérations dans cet exemple? grâce

Modifier: Désolé, ComboTOResult était comboResult, manqué

Edit 2: Désolé, il ne fonctionne pas. Mon mauvais

Répondre

2

Works pour moi quand je change la dernière ligne

comboResult.SelectedValue = m_defaultResult; 

ComboTOResult peut-être une autre boîte?

+0

Désolé, ComboTOResult était comboResult. Je l'ai manqué lors de la publication, mais ne fonctionne toujours pas pour moi: -/En regardant à nouveau ti ..... – flamey

+0

Vous avez raison. J'ai eu un autre morceau de code dans Show() à partir de quand il s'agissait de chaînes. Merci! – flamey