Сначала давайте организуем доступные имена в коллекцию (пусть это будет массив):
private static string[] s_Names = new [] {
"John", "Mike", "Jack", "Thomas",
};
, затем мы можем изменить имя на Click
с помощью Linq :
using System.Linq;
...
private void lblUser_Click(object sender, EventArgs e) {
lbUser.Text = s_Names
.SkipWhile(name => name != lbUser.Text) // scroll up to the current name
.Skip(1) // skip current name
.FirstOrDefault() ?? s_Names.First(); // restart if s_Names is exhausted
}
Редактировать: Та же идея, нет решения Linq (мы ищем индекс текущего имени, добавляем 1
и используем арифметику по модулю для перезапуска последовательностиимен)
private void lblUser_Click(object sender, EventArgs e) {
lbUser.Text = s_Names[(Array.IndexOf(s_Names, lbUser.Text) + 1) % s_Names.Length];
}