سؤال

في إطار .NET، هل من الممكن تعيين بعض العناصر في CheckedListBox باسم "uncheckable"؟ أنا لا أريد أن تسمح للمستخدم للتحقق نفس البنود مرة أخرى وإضافتها إلى قائمة موجودة آخر.

وأرجو أن أكون واضحا. يرجع الفضل في ذلك مسبقا.

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

المحلول

وأود أن وضع هذه العناصر بأنها "غير محددة" في التعليمات البرمجية، ومن ثم الكتابة فوق "NEWVALUE" الملكية من الحدث ItemCheck عندما يحاول المستخدم للتحقق / ازل لهم:

public Form1()
{
    InitializeComponent();
    checkedListBox1.Items.Add("Can't check me", CheckState.Indeterminate);
}

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (e.CurrentValue == CheckState.Indeterminate)
    {
        e.NewValue = CheckState.Indeterminate;
    }
}

لا يمكن تعديل "لا يمكن تحقق لي" البند في CheckedListBox، لأن في كل مرة يحاول المستخدم للتحقق / إلغاء ذلك، معالج الحدث يتغير مرة أخرى. حتى أنك لا ترى التحديث UI وفقا لذلك.

نصائح أخرى

وكود مات هو جيد.

ولكن، لماذا يكون عنصر في checkedlistbox وعدم السماح أن يتم تحديد ذلك؟
أعني لماذا يكون هذا البند في القائمة.

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