FIX: ListView التنفيذ الأحداث ItemClick مرتين مع تعيين LabelEdit يدوي

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

257495
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الأعراض
عند النقر فوق عنصر في عنصر تحكم ListView تنفيذ الحدث ItemClick لعنصر التحكم ListView مرتين.
السبب
تحدث هذه المشكلة عن طريق طريقة في بطاقة العنونة اليدوية التي تحرير يتم تطبيق. عند تحديد عنصر تم تشغيل الحدث ItemClick عادةً ولكن ، بالإضافة إلى ذلك، يتيح تحكم ListView جهاز ضبط وقت مضمنة الخاصة به تأخير تساوي التي مدة انقر نقراً مزدوجاً فوق. عند انقضاء هذا التأخير يتم تشغيل جهاز ضبط الوقت الحدث ويحدد إذا تحكم ListView يجب إدخال تسمية وضع تحرير التعليمات البرمجية هذا جهاز ضبط الوقت. إذا إحباط تحرير التسمية التي هي دوماً الحالة تحرير بطاقة العنونة اليدوية ثم مسح التحديد و re-selected. تشغيل هذا re-selection الثاني ItemClick.

يمكن أن تسبب هذه المشكلة تحدث في إحدى الطريقتين التاليتين. الأولى بتعيين خاصية LabelEditListView إلى lvwManual (كما في نموذج التعليمة البرمجية في قسم "مزيد من المعلومات" من هذه المقالة). طريقة بديلة إعادة انتاج هذا السلوك هو تعيين الخاصية LabelEdit إلى lvwAutomatic تعيين إلغاء يساوي صواب في الحدث BeforeLabelEditListView.
الحل
لحل هذه المشكلة، قم بتثبيت أحدث حزمة خدمة لـ 6.0 Visual Studio.

إذا كنت تقوم بتشغيل إصدار من Visual Basic أقدم من الإصدار 6.0 أو تثبيت حزمة الخدمة "ليس خياراً بتعيين خاصية LabelEdit تحكم ListView إلى lvwAutomatic ثم لا تقم بتعيين يساوي إلغاء True في الحدث BeforeLabelEditListView.
تصريح
أقرت Microsoft أن هذا خطأ في منتجات Microsoft المسردة في بداية هذه المقالة. تم تصحيح هذه الأخطاء في أحدث حزمة خدمة لـ 6.0 Visual Studio.

للحصول على معلومات إضافية حول حزم الخدمة Visual Studio انقر فوق أرقام المقالات التالية لعرضها في "قاعدة المعارف لـ Microsoft:
194022INFO: Visual Studio 6.0 خدمة حزم ، عن ، أين ، لماذا

194295HOWTO: تحديد ما التي تثبيت حزمة الخدمات Studio مرئية
لتحميل أحدث حزمة خدمة لـ Visual Studio قم بزيارة موقع Microsoft التالي على الويب:
معلومات أخرى

خطوات إعادة إنشاء السلوك

  1. إنشاء مشروع EXE قياسي جديد في Visual Basic. يتم إنشاء Form1 بشكل افتراضي.
  2. من القائمة ' مشروع ' ، اختر مكونات حدد عناصر تحكم شائعة لـ Microsoft Windows ومن ثم انقر فوق موافق.
  3. إضافة عنصر تحكم ListView إلى Form1.
  4. قم بلصق التعليمة البرمجية التالية إلى إطار التعليمات البرمجية الخاصة Form1:
    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					
  5. تشغيل العينة.
  6. انقر فوق العنصر "اثنين" في عنصر تحكم ListView. يجب أن ينتج عن هذا النص "اثنين" عرضه في إطار التصحيح/الفوري.
  7. الانتظار لحظة ثم انقر فوق العنصر "اثنين" مرة أخرى. ينتج عن هذا نص "اثنين" عرض مرتين إضافيتين في إطار التصحيح/الفوري.
المزود بحزمة الخدمة SP4

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 257495 - آخر مراجعة: 02/23/2014 01:19:44 - المراجعة: 2.2

  • 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
  • kbnosurvey kbarchive kbmt kbactivexevents kbbug kbctrl kbfix kblistview kbvs600sp4fix kbvs600sp5fix KB257495 KbMtar
تعليقات