web-dev-qa-db-ja.com

ComboBox.SelectedTextでSelectedTextが表示されない

文字列を作成していますが、コードは次のようになります

String status = "The status of my combobox is " + comboBoxTest.SelectedText

私はVS2010でWinFormを使用しています

結果は次のようになります

「私のコンボボックスのステータスは」

50
Cocoa Dev

使いたいと思う

String status = "The status of my combobox is " + comboBoxTest.Text

[〜#〜] msdn [〜#〜] のSelectedTextプロパティ

ComboBoxの編集可能部分で選択されているテキストを取得または設定します。

while [〜#〜] msdn [〜#〜] のTextプロパティ

このコントロールに関連付けられているテキストを取得または設定します。

93
Marco

ドキュメント から:

SelectedTextプロパティを使用して、ComboBoxコントロールで現在選択されているテキストを取得または変更できます。ただし、ユーザーの操作により選択が自動的に変更される可能性があることに注意する必要があります。たとえば、ボタンのClickイベントハンドラーでSelectedText値を取得する場合、値は空の文字列になります。これは、入力フォーカスがコンボボックスからボタンに移動すると、選択が自動的にクリアされるためです。

コンボボックスがフォーカスを失うと、選択ポイントはテキストの先頭に移動し、選択したテキストは選択解除されます。この場合、SelectedTextプロパティを取得すると空の文字列が取得され、SelectedTextプロパティを設定すると、指定した値がテキストの先頭に追加されます。

16
Shree

SelectedTextは必要ないと思いますが、必要かもしれません

String status = "The status of my combobox is " + comboBoxTest.Text;
9
Marshal

5分前にこの問題に直面しています。

ソリューション(Visual Studio 2005を使用)は次のとおりだと思います。

myString = comboBoxTest.GetItemText(comboBoxTest.SelectedItem);

私が間違っていても許してください。

選択したアイテムを取得するには、comboBoxのSELECTEDITEMプロパティを使用する必要があります。これはオブジェクトなので、文字列に割り当てたい場合は、ToString()メソッドを使用して文字列に変換する必要があります。

string myItem = comboBox1.SelectedItem.ToString(); //this does the trick
4
Mitja Bonca

これを試して:

String status = "The status of my combobox is " + comboBoxTest.text;

2
infredha

ラベルなどのテキストを変更したい場合の問題への取り組み方を次に示します

    private void comboBoxtest_SelectedIndexChanged(object sender, EventArgs e)
    {
        var combotext = comboBoxtest.Text;
        var status = "The status of my combo box is" + combotext;
        label1.Text = status;
    }
2

ComboboxをKeyValuePairのようなものにバインドし、コンストラクターのプロパティを次のようにバインドすると...:

 DataSource = dataSource,
 DisplayMember = "Value",
 ValueMember = "Key"

dataSourceはKeyValuePairタイプです...

あなたはこれをしなければならないことになります...

  string v = ((KeyValuePair)((ComboBox)c).SelectedItem).Value;

(動的フォームがありました-cControl型でした-ComboBoxにキャストする必要がありました)

0
JGFMK