ObjectListView не может отменить выбор элемента BeforeSelect - PullRequest
1 голос
/ 05 апреля 2019

Я преобразовал стандартный TreeView в BrightIdeaSoftware.TreeListView

Я не могу найти, как преобразовать это событие

private void LstAgents_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
    // If error save
    if (!SaveCurrentValues())
        // Keep active selection
        e.Cancel = true;
}

Как просто отменить действие пользователя, если что-то не так с TreeListView

Спасибо ...

1 Ответ

0 голосов
/ 09 апреля 2019

Если ваша цель состоит в том, чтобы предотвратить изменение пользователем выбранного элемента при наличии проблемы с проверкой, тогда вы можете использовать событие SelectedIndexChanged. С точки зрения юзабилити это все же катастрофа. Вместо этого вы можете выделить строку красным или вызвать диалоговое окно с сообщением об ошибке и вернуть строку обратно.

private object oldSelection = null;
void LstAgents_SelectedIndexChanged(object sender, EventArgs e)
{
    if(oldSelection != null && true/* some condition*/)
        LstAgents.SelectedObject = oldSelection;

    oldSelection = LstAgents.SelectedObject;
}
...