31

以下のコードを使用してリストボックスで選択したアイテムの値を取得しようとしていますが、常にnull文字列が返されます。

DataSet ds = searchforPrice(Convert.ToString(listBox1.SelectedItem));

ここでは、選択したアイテムの値を文字列としてメソッドsearchforPriceに渡して、データベースからデータセットを取得しようとしています。

選択したアイテムの値を文字列として取得するにはどうすればよいですか?

コンボボックスからリストボックスにアイテムを追加します。コンボボックスはデータベースからアイテムをロードします。

 listBox1.Items.Add(comboBox2.Text);

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

誰もがこれに対する答えを持っています。

4

10 に答える 10

93

アイテムの表示テキストを取得する場合は、次のGetItemText方法を使用します。

string text = listBox1.GetItemText(listBox1.SelectedItem);
于 2013-02-21T13:13:28.903 に答える
10

アプリケーションでListBoxを使用していて、選択したListBoxの値を返し、それをラベルなどに表示してからこのコードを使用する場合は、このコードが役立ちます。

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
         label1.Text  = listBox1.SelectedItem.ToString();
    }
于 2014-03-05T10:06:36.063 に答える
1

リストボックスで選択したすべてのアイテムの値を取得するには、DataRowViewで選択したアイテムをキャストしてから、データがある列を選択します。

foreach(object element in listbox.SelectedItems) {
    DataRowView row = (DataRowView)element;
    MessageBox.Show(row[0]);
}
于 2015-01-29T18:18:49.780 に答える
1
string textValue = ((ListBoxItem)listBox1.SelectedItem).Content.ToString();
于 2016-02-11T09:27:46.423 に答える
0

リストボックスから値を取得する場合は、次のことを試してください。

String itemSelected = numberListBox.GetItemText(numberListBox.SelectedItem);
于 2014-04-17T09:47:13.567 に答える
0

ファイルのリストボックス(フルパス)リストでFullNameを取得します(Thomas Levesqueの回答の変更、Thomasに感謝):

...
        string tmpStr = "";
        foreach (var item in listBoxFiles.SelectedItems)
        {
            tmpStr += listBoxFiles.GetItemText(item) + "\n";
        }
        MessageBox.Show(tmpStr);
...
于 2015-11-16T13:13:48.480 に答える
0

これを使用して、選択したListItme名を取得できます::

String selectedItem = ((ListBoxItem)ListBox.SelectedItem).Name.ToString();

各ListBoxItemにNameプロパティがあることを確認してください

于 2017-09-10T18:45:15.207 に答える
0

Pir Fahimによる以前の回答について詳しく説明しますが、彼は正しいですが、私はselectedItem.Textを使用しています(これを機能させる唯一の方法です)

SelectedIndexChanged()イベントを使用して、データをどこかに保存します。私の場合、私は通常、次のようなカスタムクラスを入力します。

class myItem {
    string name {get; set;}
    string price {get; set;}
    string desc {get; set;}
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
     myItem selected_item = new myItem();
     selected_item.name  = listBox1.SelectedItem.Text;
     Retrieve (selected_item.name);
}

そして、「myItems」のリストから残りのデータを取得できます。

myItem Retrieve (string wanted_item) {
    foreach (myItem item in my_items_list) {
        if (item.name == wanted_item) {
               // This is the selected item
               return item; 
        }
    }
    return null;
}
于 2019-08-24T12:38:47.930 に答える
-1

正しい解決策は次のようです:

string text = ((ListBoxItem)ListBox1.SelectedItem).Content.ToString();

.Nameではなく.Contentを使用してください。

于 2018-11-26T05:50:25.913 に答える
-2

リストボックスから選択したアイテムを取得する場合は、次のコードを使用してください...

String SelectedItem = listBox1.SelectedItem.Value;
于 2013-09-29T16:54:46.403 に答える