Значки ListView не удаляются.Показать по-другому? - PullRequest
2 голосов
/ 09 мая 2011

У меня есть ListView с несколькими столбцами. SmallImageList ListView содержит три иконки; стрелка вверх, стрелка вниз и значок папки. При щелчке по одному из заголовков столбцов список сортируется по этому значению, и чтобы проиллюстрировать это, в заголовок вставляется значок, показывающий вверх или вниз от его SmallImageList. Это отлично работает.

Моя проблема в том, что при нажатии на новый столбец для сортировки значок в старом заголовке должен исчезнуть, но это не так. Вместо этого вставляется значок папки. Это происходит каждый раз, когда щелкается новый заголовок, поэтому в конечном итоге все заголовки заполняются значками папок.

Всякий раз, когда по столбцу щелкают, все столбцы перебираются, и их ImageKey устанавливается на пустую строку, а затем заменяется на ImageKey для стрелок, если это был столбец, по которому щелкнули. Пустая строка загружает значок папки.

for (int i = 0; i < m_LVCases.Columns.Count; i++)
{
    m_LVCases.Columns[i].ImageKey = "";
    if (i == e.Column)
    {
        if (m_ListViewColumnSorter.Order == SortOrder.Ascending)
            m_LVCases.Columns[i].ImageKey = SortOrder.Ascending.ToString();
        else if (m_ListViewColumnSorter.Order == SortOrder.Descending)
            m_LVCases.Columns[i].ImageKey = SortOrder.Descending.ToString();
    }
}

Я пока не могу публиковать скриншоты, так как у меня недостаточно репутации. У кого-нибудь есть решение полностью удалить значок из заголовка столбца, или я должен сделать что-то волшебное, чтобы отобразить это по-другому?

- Правка - Это проект, который я взял на себя, поэтому я пытаюсь собрать все воедино. Я обнаружил, что установка ImageKey для столбца на null, в результате чего все заголовки (кроме одного клика) получили значок папки, что очень странно для меня. Я попытался добавить новую иконку с прозрачным цветом. Это действительно очистило все иконки, но оставило пробел в том месте, где должна была быть иконка. Есть ли способ разместить значок-выравнивание вправо, чтобы он не перемещал текст заголовка для каждого столбца?

Ответы [ 2 ]

0 голосов
/ 10 мая 2011

Я сам исправил проблему.Вместо этого я пытался разместить значки справа от текста, но установив свойство TextAlign столбца на что-либо сразу после очистки imageKey, значки папок перестали появляться.

Поэтому я удалил симптомы,но я до сих пор не знаю, что это была за болезнь.

0 голосов
/ 09 мая 2011

Это довольно чистый пример в справочнике MSDN здесь

То, что вы делаете, совсем другое, но вам может помочь установить для свойства .visible столбца sortimage значение false для других столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...