アプリが正常に動作していますが、クリックが不足しています。リストの終わりに達して前の項目に移動したいときは、前のボタンを2回押して、1回のクリックを逃したいと思います。前のボタンと同じボタンが最後のアイテムから最初のボタンに移動するときは、これは学生クラスのコードです。終了または開始時にワンクリックでボタンイベントが発生しない
public student(string Firstname,string Lastname,string City)
{
this.Firstname = Firstname;
this.Lastname = Lastname;
this.City = City;
}
public static List<student> listofstudents = new List<student>();
public static int i = 0;
私はこのコードを使用してリストに学生を追加しています。
private void btnCreateStudent_Click(object sender, RoutedEventArgs e)
{
student.listofstudents.Add(new student(txtFirstName.Text, txtLastName.Text,
txtCity.Text));
txtCity.Clear();
txtFirstName.Clear();
txtLastName.Clear();
student.i = -1;
}
次のボタンの私のコード
private void btnNext_Click(object sender, RoutedEventArgs e)
{
student.i++;
if (student.i < student.listofstudents.Count)
{
txtFirstName.Text = student.listofstudents[student.i].Firstname;
txtLastName.Text = student.listofstudents[student.i].Lastname;
txtCity.Text = student.listofstudents[student.i].City;
}
else
{
MessageBox.Show("list is full");
}
}
前のボタンの私のコード
private void btnPrevious_Click(object sender, RoutedEventArgs e)
{
student.i--;
if (student.i >=0)
{
txtFirstName.Text = student.listofstudents[student.i].Firstname;
txtLastName.Text = student.listofstudents[student.i].Lastname;
txtCity.Text = student.listofstudents[student.i].City;
}
else
{
MessageBox.Show("no data");
}
}
どのくらい速くクリックしますか? [MCVE](https://stackoverflow.com/help/mcve)を作成して、再生する正確な手順を記述できますか? – grek40
最初に4人の生徒を作成してリストに追加します.i次のボタンを押して最後の生徒に連絡し、前の生徒に移動したいときは前のボタンを2回押す必要があります。 –
'btnPrevious_Click'にブレークポイントを置くと、2回実行されますか?もしそうなら、実行ごとに 'i'の値をチェックしてください。また、最後の生徒に到達するまで、または 'MessageBox.Show("リストがいっぱいになる)まで "next"を押すことを意味します; 'がヒットしましたか? – grek40