0

このコードで:

for (int i = 0; i <= (checkedListBoxPlatypi.Items.Count - 1); i++)
{
    if (checkedListBoxPlatypi.GetItemCheckState(i) == CheckState.Checked)
    {
        ReturnListPlatypi.Add(ParsePlatypusID(checkedListBoxPlatypi.GetItemText(i)));
    }
}

...そして(FriendlyPlatypusはコンテンツを含む文字列です)を介してテキストが割り当てられているCheckedListBox

checkedListBoxPlatypi.Items.Add(FriendlyPlatypus);

... ParsePlatypusID()に「0」が渡されています... ???

4

1 に答える 1

2

リストボックスに「i」を追加しなかったと仮定しているので、そのオブジェクトのテキストはありません。オブジェクトを直接必要とするだけです。

for (int i = 0; i <= (checkedListBoxPlatypi.Items.Count - 1); i++)
{
    if (checkedListBoxPlatypi.GetItemCheckState(i) == CheckState.Checked)
    {
        ReturnListPlatypi.Add(ParsePlatypusID(checkedListBoxPlatypi.Items[i].ToString()));
    }
}

実際、データバインディングを介してオブジェクトを追加し、「DisplayMember」フィールドに直接アクセスしたい場合は、次を使用します。

for (int i = 0; i <= (checkedListBoxPlatypi.Items.Count - 1); i++)
{
    if (checkedListBoxPlatypi.GetItemCheckState(i) == CheckState.Checked)
    {
        ReturnListPlatypi.Add(ParsePlatypusID(checkedListBoxPlatypi.GetItemText( checkedListBoxPlatypi.Items[i])));
    }
}
于 2012-07-19T18:49:34.920 に答える