0

小さなプログラムがあります。リストボックスといくつかのテキストボックスが含まれています。リストボックスにはいくつかの要素があり、選択したインデックスに応じて、対応する値がテキストボックスに出力されます。

コード例: http://notepad.cc/share/AGh5zLNjfJ

スイッチケースで値を何度も入力する代わりに、関数を使用して値をテキストボックスに出力したいと考えています。

このようなもの:

switch(personList.SelectedIndex)
{
    case 0:
        output(person1);
        break;
    case 1;
        output(person2);
        break;
}

作成した関数では、person オブジェクトを渡してそのプロパティにアクセスできませんでした。SOS。

4

3 に答える 3

1

選択したインデックスで切り替える代わりに、人物のリストをデータソースとしてリストボックスに割り当てます。選択したインデックスが変更された場合 - 選択した項目のデータをテキストボックスに表示:

// that's just creating list of People with NBuilder
var people = Builder<Person>.CreateListOfSize(5).Build().ToList();
personList.DisplayMember = "fname"; // set name of property to be displayed
personList.DataSource = people;

次に、リストから人を選択すると:

private void personList_SelectedIndexChanged(object sender, EventArgs e)
{
    Person person = (Person)personList.SelectedItem;
    output(person);
}

C# では、メソッドとプロパティに PascalNaming を使用することに注意してください。

于 2013-08-20T16:17:10.560 に答える