Я установил FullRowSelect = false
и MultiSelect = false
для моего ListView In winforms.
Когда я щелкаю по любому столбцу строки в ListView, необходимо выделить только первый столбец этой строки.
Я пытался использовать метод OnDrawSubItem(DrawListViewSubItemEventArgs e)
, но не смог решить его в общем виде.
"SelectedListViewItem
" - это ListViewItem, который я выбрал. Ниже приведен фрагмент кода.
protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
{
try
{
if (e.Item.SubItems[0] == SelectedListViewItem.SubItems[0])
{
if (!(e.SubItem == SelectedListViewItem.SubItems[0]))
{
e.Item.SubItems[0].BackColor = SystemColors.Highlight;
e.Item.SubItems[0].ForeColor = SystemColors.HighlightText;
}
}
}
catch
{
// Some error occur draw normal list view
e.DrawDefault = true;
}
// Raise base OnDrawSubItem event
base.OnDrawSubItem(e);
}