Выделите первый столбец в строке независимо от того, какой столбец я щелкнул в определенной строке в виде списка в winforms - PullRequest
0 голосов
/ 09 апреля 2019

Я установил 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...