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;

上記のコードは動作しません :) 列挙型 MyResultTypes の代わりにハッシュテーブルのキーに文字列を使用していましたが、動作していました。ここで何が起こるかというと、コンボ ボックスにはハッシュテーブルの値が入力されますが (希望どおり)、デフォルトで選択された値は選択されていません。

この例で列挙型を使用するにはどうすればよいですか? ありがとう

編集:申し訳ありませんが、ComboTOResultはcomboResultでした、見逃しました

編集2:申し訳ありませんが、うまくいきます。私の悪い

4

1 に答える 1

2

最後の行をに変更するとうまくいきます

comboResult.SelectedValue = m_defaultResult; 

ComboTOResultはおそらく別のボックスですか?

于 2010-06-09T15:17:22.510 に答える