У меня есть List<Appointment>
, где есть Назначение.Связывание данных со списком и динамическое добавление элементов управления с использованием форм Windows
public class Appointment
{
public string Title { get; set; }
public string Start { get; set; }
public string End { get; set; }
}
Я хочу, чтобы динамически добавлять каждый элемент списка на отдельной строке в виде следующим образом:
item.Title + " between" + item.Start + " and " + item.End;
Я хочу, чтобы иметь возможность щелкнуть каждый элемент (текст), а затем с каждым щелчком он может переключать цвет текста между красным и черным (то есть, если черный становится красным, если красный цвет становится черным, когда вы нажимаете).
Я прихожу из веб-фона, но я просто борюсь с Windows Forms data binding. Я пробовал с панелью таблицы таблицы, но просто не знаю, с чего начать с изменения цвета элемента при щелчке.
PS: Если это помогает, количество элементов в списке, вероятно, не более 10.
Я получил немного дальше, как за комментарий Джейми Ide в:
var appts = GetAllCalendarItems();
foreach (var item in appts)
{
Label label = new Label();
label.Text = item.Title + " between" + item.Start + " and " + item.End;
label.Click += new EventHandler(label_Click);
flowLayoutPanel1.Controls.Add(label);
}
...
private void label_Click(object sender, EventArgs e)
{
// This is wrong - what goes here??
((Label)sender).ForeColor = Color.Red;
}
сделал первые три - как я динамически добавить OnClick? – raklos
см. Мои правки. почти там – raklos
См. мое редактирование для (надеюсь) ответа. –