文字列を作成していますが、コードは次のようになります
String status = "The status of my combobox is " + comboBoxTest.SelectedText
私はVS2010でWinFormを使用しています
結果は次のようになります
「私のコンボボックスのステータスは」
使いたいと思う
String status = "The status of my combobox is " + comboBoxTest.Text
[〜#〜] msdn [〜#〜] のSelectedTextプロパティ
ComboBoxの編集可能部分で選択されているテキストを取得または設定します。
while [〜#〜] msdn [〜#〜] のTextプロパティ
このコントロールに関連付けられているテキストを取得または設定します。
ドキュメント から:
SelectedTextプロパティを使用して、ComboBoxコントロールで現在選択されているテキストを取得または変更できます。ただし、ユーザーの操作により選択が自動的に変更される可能性があることに注意する必要があります。たとえば、ボタンのClickイベントハンドラーでSelectedText値を取得する場合、値は空の文字列になります。これは、入力フォーカスがコンボボックスからボタンに移動すると、選択が自動的にクリアされるためです。
コンボボックスがフォーカスを失うと、選択ポイントはテキストの先頭に移動し、選択したテキストは選択解除されます。この場合、SelectedTextプロパティを取得すると空の文字列が取得され、SelectedTextプロパティを設定すると、指定した値がテキストの先頭に追加されます。
SelectedText
は必要ないと思いますが、必要かもしれません
String status = "The status of my combobox is " + comboBoxTest.Text;
5分前にこの問題に直面しています。
ソリューション(Visual Studio 2005を使用)は次のとおりだと思います。
myString = comboBoxTest.GetItemText(comboBoxTest.SelectedItem);
私が間違っていても許してください。
選択したアイテムを取得するには、comboBoxのSELECTEDITEMプロパティを使用する必要があります。これはオブジェクトなので、文字列に割り当てたい場合は、ToString()メソッドを使用して文字列に変換する必要があります。
string myItem = comboBox1.SelectedItem.ToString(); //this does the trick
これを試して:
String status = "The status of my combobox is " + comboBoxTest.text;
ラベルなどのテキストを変更したい場合の問題への取り組み方を次に示します
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;
}
ComboboxをKeyValuePairのようなものにバインドし、コンストラクターのプロパティを次のようにバインドすると...:
DataSource = dataSource,
DisplayMember = "Value",
ValueMember = "Key"
dataSource
はKeyValuePairタイプです...
あなたはこれをしなければならないことになります...
string v = ((KeyValuePair)((ComboBox)c).SelectedItem).Value;
(動的フォームがありました-c
はControl
型でした-ComboBoxにキャストする必要がありました)