64

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

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

VS2010でWinFormを使用しています

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

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

4

11 に答える 11

110

使いたいと思います

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

MSDNのSelectedTextプロパティ

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

一方、 MSDNのTextプロパティ

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

于 2012-04-17T15:31:51.160 に答える
19

ドキュメントから:

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

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

于 2012-04-17T15:33:19.010 に答える
11

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

解決策(Visual Studio 2005を使用)は次のとおりです。

myString = comboBoxTest.GetItemText(comboBoxTest.SelectedItem);

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

于 2016-01-01T14:47:32.813 に答える
10

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

String status = "The status of my combobox is " + comboBoxTest.Text;
于 2012-04-17T15:31:35.733 に答える
4

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

string myItem = comboBox1.SelectedItem.ToString(); //this does the trick
于 2012-04-17T16:22:29.600 に答える
4

これを試して:

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

于 2013-05-14T12:13:30.673 に答える
3

たとえば、ラベルのテキストを変更したい場合、問題にどのようにアプローチするかを次に示します。

    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;
    }
于 2012-04-17T15:49:25.577 に答える
2

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

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

dataSourceKeyValuePairタイプです。

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

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

(私は動的フォームを持っていました-どこcにタイプがありましたControlか-それでそれをComboBoxにキャストしなければなりませんでした)

于 2019-06-28T13:53:10.433 に答える
2

これまでの回答はすべて、OPが「すべき」ことを説明しています。私は.SelectedTextプロパティが何であるかを説明しています。

.SelectedTextプロパティは、のテキストではありませんcombobox。強調表示されるのはテキストです。.SelectedTextのプロパティと同じtextboxです。

次の図は、.SelectedTextプロパティが「ort」に等しいことを示しています。

ここに画像の説明を入力してください

于 2020-02-17T22:03:10.313 に答える
1

ComboBox編集可能なテキストボックス(またはスタイル)を使用してのテキストを知りたいだけの場合は、ComboBoxStyle.DropDown次を使用できます。

string str = comboBox.SelectedItem != null ?
                      comboBox.GetItemText(comboBox.SelectedItem) : comboBox.Text;
于 2021-07-30T00:20:10.410 に答える
-2

またはこのコードを試してください

 String status = "The status of my combobox is " + comboBoxTest.SelectedItem.ToString();
于 2012-04-17T15:37:28.103 に答える