یک 1 نظر

  1. ali


    با استفاده از ترجمه ماشینی:
    بر طبق گزارش . مستندات چارچوب نت ، برای پیوند دادن فرم‌های ویندوز ( به عنوان مثال ، یک ListBox یا ComboBox ) به عنوان یک جستجو ( یعنی ارزش نمایش control’s برای یک ارزش اساسی متفاوت ) ، باید سه ویژگی را تنظیم کنید : DataSource ، ValueMember ، و DisplayMember . چیزی که نه به شما می‌گوید و نه به شما نشان می‌دهد ، تا جایی که من توانسته‌ام تعیین کنم ، این است که ترتیبی که شما این ویژگی‌ها را تعیین می‌کنید ، می‌تواند تفاوت بزرگی در عملکرد و / یا رفتار کد شما ایجاد کند . در این نمونه ، من تلاش خواهم کرد تا این مساله را روشن کرده و آنچه را که به نظر می‌رسد روش مناسبی برای ایجاد کنترل‌های جستجو در کد باشد ، نشان دهم .
    پس‌زمینه
    در شکل‌های ویندوز ، subclasses class کلاس انتزاعی را برای کنترل‌های پیچیده در نظر می‌گیریم .
    در شرایط بیشتر ، این بدان معنی است که آن‌ها به عنوان lookups مفید هستند ، یعنی اگر منبع داده آن‌ها یک ADO.NET باشد ، آن‌ها می‌توانند مقادیر را از یک ستون ( شاید یک نام person’s ) و از مقادیر ستون دیگر ( شاید یک شناسه منحصر بفرد ) به عنوان مقدار کنترلی کنترل استفاده کنند . دو کنترل پیچیده که به احتمال زیاد با آن مواجه هستید ، ComboBox و Listbox هستند . برای ترکیب یکی از این کنترل‌ها ، باید DataSource را تنظیم کنید ( که در آن مقادیر ایجاد می‌شوند ) ، DisplayMember ( نام ستون داده‌هایی که فهرست مرئی را تامین می‌کنند ) و ValueMember ( نام ستون اطلاعاتی که مقادیر کنترل ممکن را ذخیره می‌کند ) . شما ممکن است فکر کنید که ترتیبی که این ویژگی‌ها را تعیین می‌کنید هرگز مهم نیست و نمونه‌هایی از مایکروسافت و دیگران به این باور باز می‌گردند . با این حال ، چیزهایی در زیر پوشش وجود دارند که می‌توانند باعث دردسر برای کد شما شوند . به طور خاص ، هنگامی که DataSource تغییر می‌کند یا زمانی که DisplayMember یا ValueMember بعد از DataSource تغییر کرده‌است ، نیروهای زیربنایی کنترل کنترل را کنترل می‌کنند . منطقی به نظر می‌رسد . اما اگر کنترل برخی از رویداده‌ای کنترل را به ویژه SelectedIndexChanged و SelectedValueChanged کنترل کنید ، مشکلی وجود دارد .

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *