0

私のアプリケーションには、17 の異なるオプションを持つコンボ ボックスがあります。私のコードでは、これら 17 のオプションすべてに対して if ステートメントを使用しています。

int colorchoice = colorSelect.SelectedIndex;
if (colorchoice == 0)
{
textBox1.AppendText("the color is black");
}
if (colorchoice == 1)
{
textBox1.AppendText("the color is dark blue");
}
and so on...

コンボ ボックスで選択したもの、つまり黒またはダーク ブルーを印刷できましたが、スペースやキャップを含めないように印刷する必要があります。

if (colorchoice == 0)
{
textBox1.AppendText("the color is " + colorSelect.SelectedText);
}

したがって、結果は黒またはダークブルーになるはずです。コンボボックスの大文字とスペースを変更せずにこれを行うにはどうすればよいでしょうか。見た目はきれいですが、必要なものが出力されます。

私のアイデアは、17 個のオプションのそれぞれに文字列を割り当てることでしたが、これを行う方法を理解できませんでした。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

4

Q1 however, I need what is printed to have no spaces or caps.

答え1

textBox1.AppendText("the color is " 
        + colorSelect.SelectedText.ToLower().Replace(" ", ""));

Q2: How could I do this without changing the caps and spaces in my combo box so it still looks nice but will print out what I need?

回答 2:上記のコードはコンボボックスには影響しません。

Q3: My idea was to assign a string to each of the 17 options, but I have not been able to figure out how to do this.

Ans3:のようなアイテムの配列を作成してみませんか?

string[] myarray = new string[]{ "Black", "Dark Blue" , ....};

次に、次のように使用します

textBox1.AppendText("the color is " + 
     myarr[colorSelect.SelectedIndex].ToLower().Replace(" ", ""));
于 2012-07-06T17:24:59.380 に答える