私はリストを扱っています。リスト内のアイテムの最初と最後の位置を特定できました。を使用getPostion
してアイテム名を表示していLabel
ます。私のフォームの3つのボタン:(機能してShowFirstItem
ShowNextItem
いません)ShowLastItem
ラベルに対応するアイテムを表示します。次のアイテムに問題があります。現在の を保持しているメンバーはいませんfruit_tree
。int
したがって、メンバーまたは という別のfruit_tree
メンバーを追加する方法がわかりませんcurrent
。次(最初の後の項目)を見つけて結果を表示するにはどうすればよいですか?
public class ListForTrees
{
public fruit_trees GetNextTree()
{
current = 0;
fruit_trees ft = first_tree;
int i = 0;
while (i != current)
{
ft = ft.next_tree;
i++;
}
return ft;
}
}
ListForTrees mainlist = new ListForTrees();
private void BtnGo_Click(object sender, EventArgs e)
{
fruit_trees[] ar_items = { new fruit_trees("cherry", 48, 12.95, 3),
new fruit_trees("pine", 36, 9.95, 8),
new fruit_trees("oak", 60, 14.95, 2),
new fruit_trees("peach", 54, 19.95, 3),
new fruit_trees("pear", 36, 11.85, 2),
new fruit_trees("apple", 62, 13.45, 5)
};
mainlist = new ListForTrees(ar_items);
fruit_trees current = mainlist.first_tree;
while (current != null)
{
TxtOutput.AppendText(current.ToString() + Environment.NewLine);
current = current.next_tree;
}
}
private void ShowFirstItem_Click_1(object sender, EventArgs e)
{
// Show First Item
labelSpecificTree.Text = mainlist.first_tree.GetTreeType;
}
private void ShowLastItem_Click(object sender, EventArgs e)
{
//Show Last Item
labelSpecificTree.Text = mainlist.last_tree.GetTreeType;
}
private void ShowNextItem_Click(object sender, EventArgs e)
{
//Show Next Item
fruit_trees obj = mainlist.GetNextTree();
if (obj == null)
{
labelSpecificTree.Text = "No more trees!";
}
else
{
mainlist.current++;
labelSpecificTree.Text = obj.next_tree.GetTreeType.ToString();
}
}
}