Итак, я использую С# в приложении Windows Forms, и мой вопрос здесь о ListView. Все, что я хочу сделать, это отобразить ListViewItem определенным цветом в зависимости от значения. Теперь я попробовал традиционный метод:
ListViewItem li = new ListViewItem();
li.ForeColor = Color.Green;
li.Text = "Limit: " + wc.getCreditLimit();
listLimits.Items.Add(li);
Но результат, который я вижу в ListView:
ListViewItem: {Ограничение: 15000}
И нет, он не цветной
Другой метод, который я пробовал, заключался в инициализации ListViewItem с текстом в качестве аргумента, например:
ListViewItem li = new ListViewItem("Limit: " + wc.getCreditLimit());
li.ForeColor = Color.Green;
listLimits.Items.Add(li);
Но это также дает тот же результат, что и раньше.
Другой метод, который я пробовал, заключался в том, чтобы добавить свойство Text ListViewItem следующим образом:
ListViewItem li = new ListViewItem("Limit: " + wc.getCreditLimit());
li.ForeColor = Color.Green;
listLimits.Items.Add(li.Text);
Теперь это отображает правильный текст в ListView, однако он все еще не окрашен!
Может кто-нибудь объяснить это странное поведение, потому что из того, что я прочитал, похоже, что это единственный подход к добавлению цвета в ListViewItem. Любые советы будут оценены, спасибо.
ListView
не в режимеDetails
или что-то еще. Что касается похоже, что это единственный подход к добавлению цвета в ListViewItem, вы не правы, есть и другие подходы: 1) WPF 2) нарисовано владельцем ListView 3) сторонний компонент. - person Sinatr   schedule 01.08.2016