كيف يمكنني إزالة التركيز من كافة العناصر الموجودة في عنصر تحكم ListView؟

StackOverflow https://stackoverflow.com/questions/813826

  •  03-07-2019
  •  | 
  •  

سؤال

في ListView السيطرة، والتركيز على بعض Item ضمن عنصر التحكم هذا - أي أن عنصر التحكم يحتفظ بمفهومه الداخلي الخاص بما هو موضع التركيز، والذي يمكن استرجاعه باستخدام FocusedItem ملكية.

أود لا العناصر التي يجب التركيز عليها.وبعبارة أخرى، أريد FocusedItem خاصية لتعيينها null.هل لديك أي فكرة عن كيفية تحقيق ذلك؟

هل كانت مفيدة؟

المحلول

لتوسيع على إجابة Vanuan ل:

if (listView1.FocusedItem != null)
{
    listView1.FocusedItem.Focused = false;
}

وشيء ما يقول لي أنك تحتاج أيضا إلى إلغاء تحديد العنصر. لذلك، وربما كنت تريد أن تفعل ذلك أيضا:

if (listView1.SelectedItems.Count != 0)
{
    listView1.SelectedItems[0].Selected = false;
}

نصائح أخرى

أعتقد انه

listView1.FocusedItem.Focused=false;

تأكد من أن listView1.FocusedItem ليس فارغًا.

(شكرا ل brianpeiris للتوسع)

عند إضافة عناصر جديدة إلى عنصر تحكم عرض القائمة، فإنه يرسم مربع منقط حول البنود. هناك بعض الحالات التي لا تريد لهذا جديلة البصرية. مجرد وجود العنصر المحدد (ق) hightlighted غير كافية. هنا هي طريقة واحدة لمنع مربع منقط من تظهر عند إضافة عناصر جديدة إلى عنصر تحكم عرض القائمة.

ListViewItem item = new ListViewItem();
myListView.Items.Add(item);
myListView.SelectedItems.Clear();
myListView.FocusedItem = null;
myListView.Refresh();

وUPDATE:
بلدي الحل لا حل المشكلة. وأود أن هناك طريقة بسيطة ل"لا تركز" عنصر تحكم ولكن بعد غوغلينغ لعدة ساعات لم أتمكن من العثور على أي. أنا أيضا كان يبحث عن وسيلة لمنع تلك الخطوط المنقطة من تظهر. عند النقر على زر لإضافة عرض عناصر القائمة وليس هناك مشكلة. انها فقط عندما كنت اضغط مفتاح الإدخال بعد الجدولة إلى زر (تلقي تركيز الإدخال) يفعل ذلك تظهر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top