2011-01-28 7 views
0

現在、私はswitch文を使ってタイムゾーンと学校プロジェクトを変更しようとしています。C#コンボボックスでステートメントを切り替えますか?

if (extTime1.timeZone == "CDT") 
{ 
    switch (cboTimeZone.SelectedItem.ToString) 
    { 
     case "EST": 
     time1.Hour = time1.Hour + 1; /* CDT hours + 1 to get EST */ 
     extTime1.Hour = extTime1.Hour + 1; 
     break; 

     case "MST": 
     time1.Hour = time1.Hour - 1; /* CDT hours - 1 to get MST */ 
     break; 

     case "PST": 
     time1.Hour = time1.Hour - 2; /* CDT hours - 2 to get PST */ 
     break; 

     default: /* CDT is the default time zone*/ 
     break; 
    } 

} 

正しく動作するようにcboTimeZoneを取得できないようです。私はいつもSelectedItemがこの状況で正しい選択だと思っていました。どうやらないのですか?

+0

どうSelectedIndex' 'は? – BoltClock

+0

これがデータバインドされていればSelectedItemは正しいでしょう。私はちょうどコンボボックスの項目のリストをaspxファイルの権利で定義されていると思いますか? –

+0

コンボボックスのコレクション内のアイテムのオブジェクトタイプは何ですか? – Gabe

答えて

1

.Textを使用します。 asp.net ajaxコンボボックスは、実際にはITextControlインターフェイスを実装するテキストボックスとドロップダウンリストの組み合わせです。

+0

あなたは先生です。 :Dありがとう、そして他のみんな。 –

0

は私がこれを見てみましょう:

if (extTime1.timeZone == "CDT") 
{ 
    // Try this 
    string text = cboTimeZone.SelectedItem.ToString(); // don't forget the parenthesis 
    MessageBox.Show(text, "Debug"); 
    // Then this 
    text = cboTimeZone.Text; 
    MessageBox.Show(text, "Debug"); 
    // then (as a safeguard) 
    if (String.IsNullOrEmpty(text)) 
    { 
     return; 
    } 
    switch (text) 
    { 
     case "EST": 
     time1.Hour = time1.Hour + 1; /* CDT hours + 1 to get EST */ 
     extTime1.Hour = extTime1.Hour + 1; 
     break; 

     case "MST": 
     time1.Hour = time1.Hour - 1; /* CDT hours - 1 to get MST */ 
     break; 

     case "PST": 
     time1.Hour = time1.Hour - 2; /* CDT hours - 2 to get PST */ 
     break; 

     default: /* CDT is the default time zone*/ 
     break; 
    } 

} 
関連する問題