Düzeltme: ListView ItemClick olayı iki kez el ile LabelEdit kümesi ile çalıştırır.

Makale çevirileri Makale çevirileri
Makale numarası: 257495 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

ListView denetimdeki bir öğeyi tıklattığınızda, ListView denetimi ItemClick olayı iki kez çalıştırılır.

Neden

Düzenleme hangi etiket el ile uygulanan bu soruna neden olur. Bir öğe seçtiğinizde, normalde ItemClick olayı harekete geçirilir ancak buna ek olarak, da, gecikme süresini çift tıklatma eşittir yerleşik bir süreölçer ListView denetimini etkinleştirir. Bu gecikme sona erdiğinde, süreölçer'ın olayı tetiklenir ve bu süreölçer kodunu ListView Denetim düzenleme modunda bir etiket girmelisiniz belirler. Etiket düzenleme iptal edilirse, her zaman el ile bir etiket düzenleme kaldırılır ve seçim temizlendi ve re-selected. Bu re-selection ikinci olarak ItemClick tetikler.

Bu sorun, iki yoldan biriyle oluşmasına neden olabilir. Ilk lvwManual (gibi bu makalenin "Daha fazla bilgi" bölümündeki örnek kodu) için ListViewLabelEdit özelliğini ayarlamaktır. Bu davranışı yeniden oluşturma için farklı yöntemler için lvwAutomaticLabelEdit özellik ayarlamak ve doğru olarak eşit iptalListViewBeforeLabelEdit olayında var.

Çözüm

Bu sorunu gidermek için <a0></a0>, Visual Studio 6.0 için en son hizmet paketini yükleyin.

Hizmet paketini yüklerken bir seçenek değil veya Visual Basic 6. 0'dan önceki bir sürümünü çalıştırıyorsanız, lvwAutomatic için ListView denetimin LabelEdit özelliğini ayarlayın ve iptal eşit true ayarlamayın ListViewBeforeLabelEdit olayının içinde.

Durum

Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır. Bu hata, Visual Studio 6.0 için en son hizmet paketinde düzeltilmiştir.

Visual Studio hizmet paketleri hakkında ek bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
194022BILGI: Visual Studio 6.0 hizmet paketleri, ne, nerede, neden

194295Nasıl YAPıLıR: Visual Studio hizmet paketi yüklü olduğunu haber ver
Visual Studio'nun en son hizmet paketini karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/vstudio/Aa718353.aspx

Daha fazla bilgi

Davranışı yeniden oluşturma adımları

  1. Yeni bir proje Standart exe DOSYASı, Visual Basic'te oluşturun. Varsayılan olarak, Form1 oluşturulur.
  2. Proje menüsünde bileşenleri ' ni seçin, Microsoft Windows ortak denetimleri seçin ve Tamam ' ı tıklatın.
  3. Bir liste görünümü denetimi Form1'e ekleyin.
  4. Form1'ın kod penceresine aşağıdaki kodu yapıştırın:
    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. Örnek çalıştırın.
  6. ListView denetimi "iki" öğesini tıklatın. Bu maddenin metni "iki" görüntülenen hata ayıklama hemen penceresinde neden.
  7. Biraz bekleyin ve sonra da öğeyi "iki"'ı yeniden tıklatın. Bu maddenin "iki" iki kez daha hata ayıklama hemen penceresinde görüntülenen metin olur.

Özellikler

Makale numarası: 257495 - Last Review: 23 Şubat 2014 Pazar - Gözden geçirme: 2.2
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbactivexevents kbbug kbctrl kbfix kblistview kbvs600sp4fix kbvs600sp5fix KB257495 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: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