2011-02-02 6 views
0

"ToString"がメソッドとして使用されているプロジェクトを行っています。ToStringなしのCombobox(文字列)からの値のチェックC#

private void button1_Click(object sender, EventArgs e) 
{ 
    if(cboPlaneType.SelectedItem = "Generic") 
    { 
    } 
    else if (cboPlaneType.SelectedIndex = "Passenger") 
    { 
    } 
    else if (cboPlaneType.SelectedIndex = "Fighter Jet") 
    { 
    } 
} 

この場合、どうすればよいか分かりません。あなたが見ることができるように、私はいくつかの異なるオプションを試しましたが、役に立たないです。私も試しました if((string)cboPlaneType.SelectedItem = "Generic") それはうまくいきませんでした。

** を編集すると、SelectedValueは正解ではありませんでした。 。? は "if((string)combobox.SelectedItem == "Generic")

+0

* "ToString"がメソッド "*"として使用されているとはどういう意味ですか?また、上記のコードはコンパイルされません(あなたが代入を行い、if文で比較しないので)。本当に達成しようとしているのは何ですか? –

+0

選択した値に応じて、メインフォームの横にあるラベルの特定の情報を表示すると仮定します。私はそれがオーバーライドされていることを意味します。 –

答えて

2

C#での等価演算子は==です。=代入演算子ある

SelectedIndex。選択されているアイテムの0から始まる位置を表すintを返します(項目が選択されていない場合は-1を返します)

SelectedItemは、どのようなタイプのオブジェクトでもよい。文字列でない場合は、文字列と比較して一致させることはできません。

ComboBoxのオブジェクトには、ToString()が指定されていますか?そのメソッドの結果は、stringしか返さないため、比較のために使用することはできます。そうでない場合は、SelectedValueを使用することができますが、これは使用しているComboBoxの種類と設定方法によって異なります。

+0

プログラムの別のセクションでは、ToStringがオーバーライドされ、使用できませんでした。そしてそれは問題だった==でした。私は で終わった "if((string)cboPlaneType.SelectedValue ==" Generic ")" –

1

SelectedIndexはタイプInt32の財産であることになった たぶんあなたの代わりにSelectedValueを使用したい

+0

"エラー明示的に変換が存在する(キャストがありませんか?)"オブジェクト "を 'bool'に暗黙的に変換することはできません" 私はしようとします。 –

+1

=演算子(等価演算子)=演算子(影響) –

関連する問題