Как я могу сохранить элемент управления AC # Listview с помощью флажков из пункта «Проверка» при выборе строки?

Среда
  • Windows XP x32 Visual Studio 2005 Standard Edition
  • Honeywell Dolphin 9500 под управлением Windows Mobile 2003 (Pocket PC 2003) со встроенным сканером штрих-кода и черно-белой камерой. Использование их SDK, расположенного здесь .
  • .NET Compact Framework 1.0 с пакетом обновления 3 (SP3) и .NET Framework 1.1
  • Использование VC #

Цель

У меня есть элемент управления ListView с CheckBoxes = true и View = Details в форме, но мне не нужна проверка чтобы пользователь мог "отмечать" их. Я использую его для отображения статуса завершения записи. Однако я хочу использовать функцию обработчика событий, чтобы установить флажок с помощью кода (то есть при завершении записи: lvMeters_ItemCheck (null, null); ).

Проблема

Я отключил проверку сама коробка (думаю, сенсорный экран на этом устройстве не совсем точен). Однако при выборе строки (у меня FullRowSelect = true ) элемент управления часто проверяет флажок, и обработчик событий, похоже, не вызывается.

Что я пробовал

I попытался в основном отменить действие в обработчике событий:

private void lvMeters_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (sender is ListView)
    {
        if (e.CurrentValue == CheckState.Checked)
            lvMeters.Items[e.Index].Checked = true;
        else
            lvMeters.Items[e.Index].Checked = false;
    }
    else if (e.CurrentValue == CheckState.Checked)
        lvMeters.Items[e.Index].Checked = false;
    else
        lvMeters.Items[e.Index].Checked = true;
}

Проблема в том, что указанный выше обработчик не вызывается при выборе из списка, а обработчик событий SelectedItemChanged не вызывает этот обработчик событий, но по-прежнему устанавливает флажок при выборе. Он действительно вызывается при установке самого флажка.

Нужна дополнительная информация?

Спросите, и я сделаю все возможное!

Я новичок

Так что, пожалуйста, скажите мне, что я делаете это совершенно неправильно и должны делать все иначе.

6
задан svick 6 June 2011 в 21:10
поделиться