0

リストボックスが1つ、ボタンが2つ、テキストボックスが2つあります。ボタンを押すと、リストボックスにすべてのデータが表示されます。

リストボックスには、約 30 の名前があります。その中にさまざまな名前があります。いくつかの名前は同じです。

そして、他のボタンを押すと、1つのテキストボックスに表示されます(すでに行っています)。リストで選択した名前を表示します。しかし!ここがトリッキーな部分です。

最後のテキストボックスに、同じ名前のすべての名前を計算できるリストボックスの名前を入れたいです。

リストで「Peter」を選択した場合、Peter はそのリストに 3 ~ 4 回含まれています。3回表示されるように書き出すにはどうすればよいですか?つまり、3 (int) 回です。

コードは次のとおりです。

    public Form1()
    {
        InitializeComponent();


    }

    private void button1_Click(object sender, EventArgs e)
    {

        _items.Add("Per Lindmark, 2012-05-01");
       // add more items
        _items.Add("Elin Ivarsson, 2012-05-13");

        listBox1.DataSource = _items;
    }

    private void button2_Click(object sender, EventArgs e)
    {
        textBox1.Text = listBox1.SelectedItem.ToString();
    }
}

}

4

2 に答える 2

0

これが1つの解決策です。

var name = txtBox1.Text.Split(' ')[0];
if (string.IsNullOrEmpty(name))
{
     return;
}
var items = listBox1.DataSource as List<string>;
var count = items.Count(x => x.Split(' ')[0] == name);
textBox2.Text = count.ToString();

私はあなたの質問を理解したと思います:)

于 2013-02-13T15:30:32.047 に答える
0

リスト内のすべての項目を繰り返し処理して、名前を比較できます。

int counter = 0;    
foreach (string item in listBox1.Items)
{
    if (item == name)
        counter++;
}

もちろん、リスト内の項目から適切に名前を抽出する必要があります。

于 2013-02-13T15:33:23.730 に答える