목록으로 작업하고 있습니다. 내 목록에서 항목의 첫 번째와 마지막 위치를 결정할 수있었습니다. 을 사용하고 Label
을 통해 항목 이름을 표시하고 있습니다. 내 양식의 버튼 세 개 : ShowFirstItem
ShowNextItem
(작동하지 않음) 및 ShowLastItem
은 라벨에 해당 항목을 표시합니다. 다음 항목에 문제가 있습니다. 회원 번호가 현재 fruit_tree
인 회원이 없습니다. 따라서 int
회원 또는 current
회원 인 다른 fruit_tree
회원을 추가하는 방법을 모르겠습니다. 어떻게하면 다음 항목 (첫 번째 항목 이후)을 찾고 결과를 표시 할 수 있습니까?목록에서 현재 가리키는 항목 확인
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();
}
}
}
네, 좋은 :
가로 변경 될 수 있습니다. 목록의 다음 트리 객체로 이동하려고합니다. 버튼 클릭에서'current ++'를 증가시켜야합니까? 또는 정확히 어떻게 할 것인가? – CodingWonders90
mainlist.current ++; 그 다음에 getCurrent()를 호출하면 다음 tree_object가 생깁니다. –
좋아요, 증가 된 mainlist.current ++를 추가 한 다음 버튼 내에서 getCurrent (이 경우 GetNextTree로 변경)를 호출했지만 나는 처음으로 하나의 나무 만 얻고 다른 것은 얻지 못한다. 새로운 변경 사항에 대한 코드를 편집했습니다. 제 질문을 확인해주세요. – CodingWonders90