私は現在、プログラムの開始時にロードされたアイテムのリストを操作しています。私は各アイテムの位置を決定しようとしています。したがってFirst
、最初の項目(Current)を表示するボタンがあり、最初の項目Next
(Current.Next)の後に次の項目Last
が表示されます。これは、最後の項目を表示するはずですが、何も表示されません。ボタンが。というラベルをクリックすると、結果が表示されますlabelSpecificTree
。ブレークインサイドLast
ボタンのクリックラインCurrent = Trees.Last;
を設定して結果を確認しようとしましたが、具体的な詳細はわかりません。リストの最後のアイテムをラベルで表示するにはどうすればよいですか?
コード
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ListOfTrees Trees = new ListOfTrees();
FruitTrees Tree;
FruitTrees Current;
double Total;
public class ListOfTrees
{
private int size;
public ListOfTrees()
{
size = 0;
}
public int Count
{
get { return size; }
}
public FruitTrees First;
public FruitTrees Last;
public int Add_Initialize(FruitTrees NewItem)
{
NewItem.Next = First;
First = NewItem;
Last = First.Next;
if (Last == null)
{
Last = First;
}
return size++;
}
public int Add(FruitTrees newItem)
{
if (First == null)
return Add_Initialize(newItem);
FruitTrees item = First;
while (item.Next != null)
{
item = item.Next;
}
item.Next = newItem;
return size++;
}
}
public void Clear()
{
textBoxType.Clear();
textBoxHeight.Clear();
textBoxPrice.Clear();
textBoxStock.Clear();
}
public void Current_Tree()
{
Current = Trees.First;
labelSpecificTree.Text = Current.Type.ToString();
}
private void Form1_Load_1(object sender, EventArgs e)
{
Tree = new FruitTrees();
Tree.Stock = 15;
Tree.Type = "Pear";
Tree.Price = 49.99;
Tree.Height = 20;
Total += Tree.Price * Tree.Stock;
Trees.Add(Tree);
ShowTrees();
Current_Tree();
}
private void buttonLast_Click(object sender, EventArgs e)
{
Current = Trees.Last;
labelSpecificTree.Text = Current.Type.ToString();
}
}
}