Ответ 1
Вы можете установить член HeaderStyle
в ListView
на None
.
listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
Я изо всех сил пытаюсь выяснить правильный элемент управления для использования в списке заданных заданий в включенной форме. В настоящее время у меня есть ListBoxControl в группе Predefined Job Name, в которой перечислены все предопределенные задания для магазина морских услуг (т.е. Замена масла, настройка и т.д.). Затем, основываясь на элементе (т.е. Задании), который выбран в моем ListBox, мне нужно отобразить элементы, соответствующие этому заданию. Например, если замена масла является выбранным заданием, мне нужно показать масло в 4 кварты, 1 масляный фильтр, труд и т.д. И т.д.
В настоящее время, когда я загружаю данные формы, у меня есть DAO, который извлекает все мои задания из базы данных, используя LINQ to SQL. Затем я перебираю результаты и помещаю имена заданий в ListBox. Проблема, с которой я столкнулась, заключается в том, что для элементов ListBox нет элементов, например, для элементов ListView. Поэтому каждый раз, когда пользователь выбирает другой элемент в ListBox, я должен выполнить другой запрос LINQ, чтобы снова получить задание из базы данных, чтобы я мог отображать его соответствующие элементы. Если бы я мог использовать ListView и скрыть заголовок столбца, я мог бы установить все задание на теге, чтобы каждый раз, когда пользователь выбирает новый элемент, у меня будет доступ к деталям без необходимости повторного вызова в базу данных. Есть ли способ скрыть заголовок столбца ListView, не скрывая весь столбец?
Вы можете установить член HeaderStyle
в ListView
на None
.
listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
Оформить свойство ListView HeaderStyle. Он имеет следующие параметры:
От MSDN:
Свойство HeaderStyle позволяет указать, являются ли заголовки столбцов видимыми или, если они видны, будут ли они функционировать как кнопки с возможностью нажатия. Если для свойства HeaderStyle установлено значение ColumnHeaderStyle.None, заголовки столбцов не отображаются, хотя элементы и подэлементы элемента управления ListView все еще расположены в столбцах
Вы также можете создать простой объект, например ListItem
, который имеет два поля: Text
(строка) и Tag
(объект). Затем реализуем ListItem.ToString(), и вы также можете использовать их в ListBox
.
Вы также можете проверить Better ListView Express, который является бесплатным и позволяет отображать элементы в представлении Подробности без столбцов. Преимущество над ListBox и ListView - это внешний вид и множество дополнительных функций.
Простым способом является использование события ColumnWidthChanging
private void listViewExtended1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
{
if (e.ColumnIndex == 0)
{
e.Cancel = true;
e.NewWidth = listViewExtended1.Columns[e.ColumnIndex].Width;
}
}
Я обнаружил, что если вы знаете, что вы не показываете заголовки, лучше всего установить свойство HeaderStyle в None, как упоминает выше Rajesh.
При настройке в .CS при первоначальной загрузке экрана заголовки отображаются до полного отображения экрана.