Ö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.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
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:
Yeni bir proje Standart exe DOSYASı, Visual Basic'te oluşturun. Varsayılan olarak, Form1 oluşturulur.
Proje menüsünde bileşenleri ' ni seçin, Microsoft Windows ortak denetimleri seçin ve Tamam ' ı tıklatın.
Bir liste görünümü denetimi Form1'e ekleyin.
Form1'ın kod penceresine aşağıdaki kodu yapıştırın:
Option ExplicitPrivate 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 SubPrivate Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) Debug.Print ListView1.SelectedItem.TextEnd Sub
Örnek çalıştırın.
ListView denetimi "iki" öğesini tıklatın. Bu maddenin metni "iki" görüntülenen hata ayıklama hemen penceresinde neden.
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.
SP4'ü
Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır