Danny Hulmston Ответов: 4

C# Listview С Метками Ссылок


Привет, я пытаюсь добавить столбцы, которые содержат гиперссылки, похожие на ASP.NET listview, который будет выполнять действия при нажатии. Я бы предпочел добиться этого без необходимости использовать индивидуальный инструмент.

Взгляд, которого я пытаюсь достичь, чем-то похож на этот.

Надеюсь, у кого-то есть решение, так как я застрял на этом уже 2 часа.

Заранее спасибо

Дэнни

4 Ответов

Рейтинг:
2

m@dhu

Полный ListView в ASP.NET 3.5.[^] может помочь тебе.


Danny Hulmston

Я создаю элемент управления ListView в C# форм Windows не ASP.NET. Я уже смотрел этот код, и списки форм Windows не содержат различных шаблонов для добавления гиперссылок.

thatraja

Я нашел открытый исходный код, см. Мой ответ.

Рейтинг:
2

Wonde Tadesse

Вам не нужно переходить к пользовательским элементам управления. Listview сам по себе способен на это. Вот пример MSDN Обзор Управления Веб-Сервером ListView.[^]


Danny Hulmston

Спасибо за ваш ответ, но вопрос был на языке C# в Windows форма управления ListView не ASP.NET списки.

Wonde Tadesse

Так почему же вы помечены так, как будто это так ASP.Net

Рейтинг:
2

Danny Hulmston

Я разработал быстрое решение с использованием пользовательского метода, который предотвращает необходимость использования решения с открытым исходным кодом. Сначала создайте listview, как обычно, и добавьте элемент в listview с помощью ListViewItem, включая пользовательский метод под ListViewItem.

listView1.Columns.Add("Column 1", 50, HorizontalAlignment.Left);
listView1.Columns.Add("Column 2", 45, HorizontalAlignment.Left);
listView1.Columns.Add("Column 3", 45, HorizontalAlignment.Left);
listView1.MultiSelect = true;
listView1.FullRowSelect = false;
listView1.View = View.Details;
listView1.Activation = ItemActivation.OneClick;
listView1.LabelEdit = true;

ListViewItem lvi = new ListViewItem("Action");
lvi.SubItems.Add("Delete");
lvi.SubItems.Add("Copy");
lvi.UseItemStyleForSubItems = false;

// Custom Method
ChangeToUnderline(ref listView1, 0, Color.Blue);


Теперь пользовательский фрагмент кода, который будет отображать текст в любом цвете, который вы хотите, с подчеркиванием.

private void ChangeToUnderline(ref ListView lv, int ColumnIndex, Color color)
{
    foreach (ListViewItem lvi in lv.Items)
    {
        lvi.SubItems[ColumnIndex].Font = new Font("Microsoft Sans Serif", 8, FontStyle.Underline);
        lvi.SubItems[ColumnIndex].ForeColor = color;
    }
}


Если вы хотите быстро создать ячейку, которая выглядит как гиперссылка, я рекомендую использовать этот метод, в противном случае, если у вас есть время, я бы порекомендовал одно из решений с открытым исходным кодом, упомянутых ранее в этом посте. thatraja.


Рейтинг:
14

thatraja

Я нашел для тебя больше, чем пару вещей.

Прежде всего я рекомендую этот открытый исходный код
ObjectListView[^] - Выглядит круто, отлично, красиво и т. д.,

CP статьи
Встраивание элементов управления в ListView[^]
C# List View v1. 3[^]
Редактирование элементов ListView на месте[^]
Расширенного Управления ListView[^]
ContainerListView и TreeListView: запись VS.NET дизайн-поверхность совместимых элементов управления[^]


Danny Hulmston

Это блестящие инструменты с открытым исходным кодом!

Espen Harlinn

Хороший набор ссылок, мои 5