Oprava: ListView spustí událost ItemClick dvakrát s LabelEdit nastavit na ruční

Překlady článku Překlady článku
ID článku: 257495 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Po klepnutí na položku v ovládací prvek ListViewItemClick události pro ovládací prvek ListView provede dvakrát.

Příčina

Příčinou tohoto problému je způsob, v které ruční popisku je implementována úpravy. Při výběru položky ItemClick událost je aktivována, obvykle ale navíc ovládací prvek ListView umožňuje vestavěné časovače, jehož zpoždění je rovna trvání poklepání. Když uplyne toto zpoždění časovač událost spuštěna a kód pro tento časovač Určuje Pokud ovládací prvek ListView byste zadat popisek režimu úprav. Pokud přerušena úpravy popisek což je vždy případ pro popisek ruční úpravy a potom výběr zrušeno a re-selected. Aktivuje toto re-selection druhé ItemClick.

Může způsobit potíže nastanou v dvěma způsoby. První je nastavena vlastnost LabelEditListViewlvwManual (v ukázkový kód v části "Další informace" tohoto článku). Alternativní způsob reprodukci tohoto chování je nastavit vlastnost LabelEditlvwAutomatic a nastavit Storno rovná TRUE v BeforeLabelEdit událost ListView.

Řešení

Tento problém vyřešíte instalací nejnovější aktualizace service pack pro aplikaci Visual Studio 6.0.

Pokud instalace aktualizace service pack není možnost nebo systémem jazyka verzi starší než verze 6.0, nastavte vlastnost LabelEdit ovládací prvek ListViewlvwAutomatic a v nenastavujte Storno rovno TRUE v BeforeLabelEdit událost ListView.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o chybu v produktech společnosti uvedených na začátku tohoto článku. Tato chyba byla opravena v nejnovější aktualizaci service pack pro aplikaci Visual Studio 6.0.

Další informace o aktualizacích service Pack Visual Studio klepněte na následující čísla následujících článcích databáze Microsoft Knowledge Base:
194022INFORMACE: Visual Studio 6.0 Service Pack, jaké, kde, proč

194295Postupy: Rozpoznat, Visual Studio Service Pack nainstalovanou
Stáhnout nejnovější aktualizace service pack pro Visual Studio, navštivte následující web:
http://msdn2.microsoft.com/en-us/vstudio/Aa718353.aspx

Další informace

Kroky pro reprodukci chování

  1. Vytvoření nového projektu Standardní EXE v jazyka. Jako výchozí je vytvořen formulář Form1.
  2. Z nabídky projekt zvolte komponenty, vyberte Běžné ovládací prvky Microsoft Windows a potom klepněte na tlačítko OK.
  3. Přidat ovládací prvek ListView Form1.
  4. Vložte následující kód do okna kódu Form1 's:
    Option Explicit
    
    Private Sub Form_Load()
        Dim Col As ColumnHeader
        Dim itmAdd As ListItem
        
        ' Set the report's view
        ListView1.View = lvwReport
        
        ' Add a column to the listview
        Set Col = ListView1.ColumnHeaders.Add(Text:="Items")
        
        ' Set the label editing to manual
        ListView1.LabelEdit = lvwManual
        
        ' Add some sample data
        Set itmAdd = ListView1.ListItems.Add(Text:="one")
        Set itmAdd = ListView1.ListItems.Add(Text:="two")
    End Sub
    
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
        Debug.Print ListView1.SelectedItem.Text
    End Sub
    					
  5. Spustit ukázkové.
  6. Klepněte na položku "dva" ovládací prvek ListView. By výsledkem text položky "dva" právě zobrazené v okně okamžité/ladění.
  7. Počkejte chvilku a poté znovu klepněte na položku "dva". Výsledkem text položky "dva" dvakrát více právě zobrazené v okně okamžité/ladění.

Vlastnosti

ID článku: 257495 - Poslední aktualizace: 28. února 2014 - Revize: 2.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbactivexevents kbbug kbctrl kbfix kblistview kbvs600sp4fix kbvs600sp5fix KB257495 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:257495

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com