• دکمه انتخاب در لیست فرم 1c. یک لیست یا جعبه ترکیبی اضافه کنید. مقدار ویژگی نوع منبع ردیف

    عنصر کنترل فهرست کنید(ListBox) برای نمایش فیلدی روی صفحه استفاده می شود که مقادیر احتمالی آن محدود به یک لیست است و لیست طولانی نیست. این به این دلیل است که چنین لیستی فضای زیادی را روی صفحه اشغال می کند (شکل 9.14). در حالی که می توانید از نوارهای اسکرول برای مشاهده مقادیری استفاده کنید که در ناحیه انتخاب مناسب نیستند، این کنترل برای نمایش لیست های طولانی بدیهی است مناسب نیست.

    یک لیست می تواند از یک یا چند ستون تشکیل شده باشد، اما زمانی که یک آیتم لیست را انتخاب می کنید، تنها یک مقدار به فیلد جدول مربوط به آن منتقل می شود، برای مثال در موارد نشان داده شده در شکل. لیست های 9.14 عبارتند از "Type Code" (CategoryID) و "Employee ID" (EmployeeID) که حتی در لیست ها نمایش داده نمی شوند. ظاهر لیست و محتویات آن با ویژگی های آن مشخص می شود که می توان آن را به صورت دستی تنظیم کرد و یا می توانید هنگام قرار دادن لیست در فرم از ویزارد استفاده کنید که پس از درخواست اطلاعات لازم، اکثر خصوصیات به صورت خودکار مشخص می شود. ایجاد یک لیست با استفاده از جادوگر قبلاً در قسمت اول کتاب نشان داده شده بود. List Wizard بسیار شبیه به Wizard است که یک عنصر را ایجاد می کند جعبه ترکیبی(به بخش "ایجاد و حذف کنترل ها" فصل 5 مراجعه کنید).برای اینکه لیست به درستی کار کند، باید مهمترین ویژگی های آن را به درستی تعریف کنید - اینها هشت ویژگی اول در شکل 1 هستند. 9.15. بر این اساس، اگر به درستی کار نمی کند، ابتدا باید این ویژگی ها بررسی شود.

    برنج. 9.14.کنترل ها فهرست کنید

    برنج. 9.15.کنترل خواص فهرست کنید

    • نام(نام) - نام این کنترل. شما باید به آن یک نام معنی دار بدهید زیرا در تمام ارجاعات به این کنترل در عبارات، برنامه ها و ماکروها استفاده می شود.
    • داده ها(منبع کنترل) - نام فیلدی در جدول که حاوی مقدار انتخاب شده در لیست است.
    • دو ویژگی زیر: نوع منبع ردیف(نوع منبع ردیف) و منبع ردیف- (منبع ردیف) منبع داده را برای آیتم های لیست تعریف کنید. در مثال بالا، جدول Categories به عنوان منبع داده استفاده می شود، بنابراین در ویژگی نوع منبع ردیف(نوع منبع ردیف) انتخاب شده است جدول یا پرس و جو(جدول/پرس و جو)، و به عنوان ارزش دارایی منبع ردیف(منبع ردیف) یک دستور SQL مشخص شده است که داده های مورد نیاز را از جدول انتخاب می کند (فیلدهای "TypeCode" و "Category"): SELECT Types.TypeCode, Types.Category FROM Types; برای نسخه انگلیسی Access: SELECT Categories.CategorylD, Categories.CategoryName FROM Categories;
    • برای اطمینان از اینکه موارد موجود در این لیست بر اساس فیلد Category بر اساس حروف الفبا مرتب شده اند، باید عبارت زیر را به انتهای عبارت SQL اضافه کنید: ORDER BY Types.Category (ORDER BY Categories.CategoryName).

    اظهار نظر

    مقدار این ویژگی می تواند نام جدول یا پرس و جو نیز باشد. لیستی که بر اساس یک جدول یا یک پرس و جو ذخیره شده است سریعتر از لیستی است که منبع ردیف آن به عنوان یک دستور SQL مشخص شده است.

    • ویژگی تعداد ستون ها(Column Count) دارای مقدار 2 است، یعنی دو ستون در لیست وجود خواهد داشت (دو فیلد انتخاب شده است)، با این حال ویژگی عرض ستون(Column Width) عرض ستون اول را روی 0 قرار می دهد، یعنی روی صفحه نمایش داده نمی شود.
    • علیرغم این واقعیت که ستون اول پنهان است، می توان آن را نیز مانند هر ستون فهرست دیگری به یک فیلد جدول متصل کرد، به طوری که در عنصر لیست انتخاب شده، مقدار این ستون خاص (در مثال ما، این مقدار است فیلد "TypeCode") در جدول فرم پایه نوشته می شود. اغلب، اولین ستون لیست است که باید به قسمت منبع داده پیوست شود. شماره ستون پیوست در ملک مشخص شده است ستون پیوست(ستون صحافی شده).
    • ویژگی سرفصل های ستون ها(Column Heads) در مثال ما اهمیت دارد خیر(خیر)، بنابراین آنها در لیست ظاهر نخواهند شد.

    علاوه بر مورد مورد بحث، سه نوع منبع ردیف دیگر برای کنترل وجود دارد: فهرست کنید(کادر فهرست):

    1. فهرست ارزش هااگر تعداد خطوط موجود در لیست کم و ثابت باشد، می توانید تمام مقادیر را مستقیماً در پنجره ویژگی های عنصر تنظیم کنید. در این مورد، در ملک نوع منبع ردیفمقدار انتخاب شده است فهرست ارزش ها(Value List)، و مقادیر عناصر لیست با نقطه ویرگول بدون فاصله در ویژگی از هم جدا شده اند. منبع رشتهمثلا:

      دوشنبه سه شنبه چهارشنبه پنج شنبه جمعه شنبه یکشنبه

      اگر آیتم های لیست دارای فاصله هستند، آنها را در علامت نقل قول قرار دهید. برای نمایش تمام روزهای هفته در یک ستون فهرست، مقدار ویژگی را تنظیم کنید تعداد ستون هابرابر با 1 و دارایی عرض ستونهر مقدار غیر صفر مانند 2.5 سانتی متر را اختصاص دهید.

      اگر نیاز به نمایش دو ستون از مقادیر دارید، سپس در ویژگی منبع ردیفدر شمارش مقادیر، جفت مقادیر به ترتیب مشخص می شوند، تعداد ستون ها 2 و در ویژگی عرض ستونیک جفت مقادیر مشخص شده است، به عنوان مثال 2.5 سانتی متر؛ Zcm (2.5cm؛ 3cm).

    2. لیست فیلدهااین نوع منبع ردیف (مقدار لیست فیلدها(فهرست بایگانی) خواص نوع منبع ردیف)برای نمایش نام فیلدهای جدول یا پرس و جو در یک لیست در نظر گرفته شده است. نام جدول یا پرس و جو در ویژگی مشخص شده است منبع رشتهبه این ترتیب، نام فیلدهای جدول را می توان در یک لیست نمایش داد تا امکان انتخاب فراهم شود.
    3. عملکرد تعریف شده توسط کاربردر نهایت، منبع رشته ها برای لیست می تواند تابعی باشد که در VBA نوشته شده است که لیست را با مقادیر پر می کند. در این مورد ملک نوع منبع ردیفباید همانطور که در شکل نشان داده شده است نصب شود. 9.16، یعنی نام تابع را بدون علامت مساوی (=) و بدون پرانتز و ویژگی را مشخص کنید. منبع ردیفباید خالی بماند استفاده از یک تابع تعریف شده توسط کاربر زمانی مفید است که باید لیستی را با مقادیر محاسبه شده پر کنید یا زمانی که محتویات یک لیست باید به صورت پویا بر اساس محتویات سایر کنترل ها تغییر کند. در حالت اول، محاسبات را می توان حتی بر روی داده هایی که در پایگاه داده نیستند (به عنوان مثال، زمانی که باید تاریخ های خاصی را محاسبه کنید، از زمان فعلی شروع کنید، گزینه دوم مناسب خواهد بود). با انتخاب یک دسته محصول در یک لیست، مجموعه ای از محصولات باید در دسته دیگر این دسته نمایش داده شود.

    برنج. 9.16.

    چند کلمه در مورد نوع سوم منبع رشته لیست. این تابع باید فهرست آرگومان های زیر را داشته باشد:

    تابع Function_name(fid As Control، id As Variant، _

    row As Variant، col As Variant، Code As Variant) As Variant

    این تابع هر بار که یک لیست باید با عناصر پر شود توسط Access فراخوانی می شود. به عنوان مثال، هنگامی که یک فرم حاوی یک لیست برای اولین بار باز می شود، این به طور خودکار اتفاق می افتد. می توانید با استفاده از روش به روز رسانی محتوای کنترل Require، محتویات لیست را مجبور کنید در زمان دیگری به صورت برنامه ریزی شده به روز شوند. هر بار که محتوای لیست به روز می شود، این تابع به طور مکرر فراخوانی می شود: با یک "کد اقدام" متفاوت.

    اجازه دهید معنای آرگومان ها و مقدار بازگشتی آن را توضیح دهیم.

    • کد - "کد اقدام"، تعیین می کند که عملکرد در هنگام برقراری این تماس چه عملکردی را انجام دهد. اینها می توانند اقدامات زیر باشند: مقداردهی اولیه لیست، باز کردن آن، دریافت تعداد سطرها، تعداد ستون ها، عرض ستون ها، خود عناصر لیست و خاموش کردن. همه این اقدامات با ثابت های رزرو شده VBA مطابقت دارند.
    • fid - پیوند به کنترل فهرست یا جعبه ترکیبی،که با استفاده از این تابع با عناصر پر می شود.
    • id - شناسه منحصر به فرد کنترلی که باید پر شود. این آرگومان زمانی مفید است که از چنین تابعی برای پر کردن چندین کنترل برای متمایز کردن آنها استفاده شود.
    • row - شماره ردیف فعلی برای عنصر لیست که باید پر شود (شروع از 0).
    • col - شماره ستون فعلی برای عنصر لیست که باید پر شود (شروع از 0).
    • مقدار بازگشتی و نوع آن به "کد اقدام" فعلی که به تابع ارسال شده است بستگی دارد. به عنوان مثال، برای کد acLBGetValue (دریافت داده)، این باید مقدار رشته ای مورد لیست در ردیف و ستون ستون داده شده باشد.

    تمام مقادیر آرگومان توسط خود Access تولید و به تابع ارسال می شود. توسعه دهنده فقط باید آنها را پردازش کند.

    برای اطلاعات دقیق در مورد ایجاد تابعی که به عنوان منبع داده برای یک لیست یا جعبه ترکیبی عمل می کند، بخش سیستم راهنمای Access 2002 را ببینید. "راهنمای مایکروسافت اکسس، برنامه نویسی در ویژوال بیسیک، مرجع ویژوال بیسیک مایکروسافت اکسس، خواص، Q-R، ویژگی RowSourceType." نمونه ای از نحوه استفاده از این ویژگی را می توان در سی دی همراه این کتاب نیز یافت که به صورت جداگانه به فروش می رسد.

    ویژگی ستون پیوست(ستون Bound) که ستون لیست را تعریف می کند که مقدار آن با انتخاب به مقدار کنترل تبدیل می شود، می تواند مقدار 0 داشته باشد. در این حالت مقدار عنصر فهرست کنید(List Box) به نمایه (تعداد) مورد انتخاب شده در لیست تبدیل می شود.

    عنصر کنترل فهرست کنیدهمچنین جالب است زیرا به شما امکان می دهد چندین انتخاب در لیست ایجاد کنید، یعنی می توانید چندین عنصر را همزمان در آن انتخاب کنید، که عنصر اجازه نمی دهد. جعبه ترکیبی(جعبه ترکیبی). این ویژگی اغلب هنگام تعیین معیارهای انتخاب رکوردها مورد نیاز است. به عنوان مثال، در پایگاه داده ای از اشیاء املاک و مستغلات، لازم است آپارتمان هایی را پیدا کنید که به مشتری علاقه مند هستند و او به آپارتمان هایی در مناطق خاصی از شهر علاقه مند است. البته می‌توانید یک منطقه را از لیست یکی یکی انتخاب کنید تا همه آپارتمان‌ها در یک منطقه خاص انتخاب شوند، سپس دیگری و غیره. اما در این مورد راحت‌تر است از فهرستی استفاده کنید که در آن همه مناطق مورد علاقه به یکباره برای نشان دادن مناطق مورد علاقه انتخاب می شوند و سپس یک پرس و جو مربوط به پایگاه داده تولید می شود.

    شما می توانید تعیین کنید که کاربر چگونه مقادیر را از لیست با استفاده از ویژگی انتخاب می کند انتخاب از هم گسیخته(چند انتخاب). می توان آن را در برگه یافت دیگر(سایر) ویژگی های ویندوز. به طور پیش فرض این ویژگی دارای مقدار است غایب(هیچ یک). در این حالت فقط یک عنصر از لیست را می توان انتخاب کرد. اما این ویژگی می تواند تفاوت ایجاد کند ساده(ساده) و با انتخاب متصل(تمدید شده). در حالت اول، انتخاب چندگانه به سادگی با کلیک بر روی عناصر مورد نظر مجاز است و در حالت دوم، لیست تقریباً مانند همه لیست های ویندوز کار می کند، یعنی می توانید از کلیدها استفاده کنید. و برای برجسته کردن عناصر مجاور و غیر مجاور. نتایج انتخاب در یک آرایه خاص ذخیره می شود و می تواند توسط برنامه های VBA استفاده شود.

    هنگام وارد کردن اطلاعات در فرم های پایگاه داده دسکتاپ Access، انتخاب یک مقدار از لیست سریعتر و آسانتر از تایپ آن از حافظه است. علاوه بر این، با استفاده از لیستی از گزینه ها، فقط مقادیر معتبر وارد فیلد می شوند. لیست می تواند به داده های موجود متصل شود یا حاوی مقادیر ثابتی باشد که هنگام ایجاد آن مشخص شده است. این مقاله لیست های موجود در فرم های Access و نحوه ایجاد و سفارشی کردن آنها را شرح می دهد.

    در این مقاله

    انواع لیست ها

    Access دو نوع کنترل لیست را ارائه می دهد: لیست و جعبه ترکیبی.

    این کنترل لیستی از مقادیر یا گزینه ها را نمایش می دهد. لیست شامل ردیف هایی از داده ها است و معمولاً به گونه ای اندازه می شود که چندین ردیف همیشه قابل مشاهده باشند. سطرها می توانند شامل یک یا چند ستون، با یا بدون سرصفحه باشند. اگر لیست تعداد ردیف‌های بیشتری از آنچه در کنترل نمایش داده می‌شود باشد، یک نوار پیمایش ظاهر می‌شود. انتخاب محدود به گزینه های ارائه شده در لیست است. امکان وارد کردن مقدار در لیست وجود ندارد.

    جعبه ترکیبی.این کنترل روش فشرده‌تری برای نمایش فهرستی از گزینه‌ها است: تا زمانی که کاربر روی دکمه گسترش فهرست کلیک کند، فهرست پنهان می‌شود. علاوه بر این، جعبه ترکیبی به شما امکان می دهد مقادیری را وارد کنید که در لیست موجود نیستند. بنابراین، این کنترل عملکردهای یک فیلد متنی و یک لیست را ترکیب می کند.

    1. روی فلش کلیک کنید تا لیست کشویی نمایش داده شود.

    2. گزینه مورد نیاز را از لیست کشویی انتخاب کنید.

    جعبه های فهرست یا جعبه های ترکیبی می توانند کنترل های محدود یا آزاد باشند. این کنترل ها می توانند حاوی مقادیری از یک لیست ثابتی باشند که کاربر وارد می کند یا از یک جدول یا پرس و جو. فقط در صورتی می توانید یک لیست پیوندی یا جعبه ترکیبی ایجاد کنید که مقادیر را از یک جدول یا پرس و جو جایگزین کند، تنها در صورتی که فرم مبتنی بر منبع رکوردی باشد که حاوی یک فیلد کلید خارجی یا فیلد جستجو باشد. این به شما اجازه می دهد تا روابط مورد نیاز برای مرتبط کردن داده ها در یک لیست یا جعبه ترکیبی را با داده ها در یک فرم ایجاد کنید.

    با استفاده از جادوگر یک لیست یا جعبه ترکیبی ایجاد کنید

    با افزودن فیلد جستجو به فرم، یک لیست یا جعبه ترکیبی ایجاد کنید

    می توانید با افزودن یک فیلد جستجو به فرم، لیست های پیوندی یا جعبه های ترکیبی ایجاد کنید.

    یک لیست یا جعبه ترکیبی بدون استفاده از جادوگر ایجاد کنید

    هنگامی که یک جعبه لیست یا جعبه ترکیبی بدون استفاده از جادوگر ایجاد می کنید، باید تعدادی از ویژگی های کنترل را به صورت دستی تنظیم کنید. برای دریافت اطلاعات بیشتر در مورد یک ویژگی خاص، آن ویژگی را فشار دهید و سپس F1 را فشار دهید.

    وظیفه

    مقدار ویژگی نوع منبع ردیف...

    ویژگی Row Source را به مقدار زیر تنظیم کنید:

    مقادیر را از یک جدول یا پرس و جو یا نتایج یک عبارت SQL نشان دهید

    جدول/پرس و جو

    از لیست کشویی، جدول یا درخواستی را انتخاب کنید که حاوی مقادیری است که می خواهید در لیست یا جعبه ترکیبی نمایش داده شود.

    عبارت SQL را وارد کنید.

    روی برگه داده هاصفحه ویژگی، روی دکمه کلیک کنید تا Query Builder باز شود. برای اطلاعات بیشتر در مورد ایجاد پرس و جو، به ایجاد یک پرس و جو انتخاب ساده مراجعه کنید.

    نمایش لیست ثابت مقادیر

    فهرست ارزش ها

    لیستی از مقادیر ثابت را وارد کنید که با نقطه ویرگول از هم جدا شده اند ( ; ). مثلا، شمال؛ پشتیبانی پایین غرب

    روی برگه داده هاصفحه ملک، روی دکمه کلیک کنید تا کادر محاوره ای باز شود تغییر آیتم های لیستو سپس موارد را در خطوط جداگانه وارد کنید.

    فهرستی از فیلدها را از یک جدول یا پرس و جو نشان دهید

    لیست فیلدها

    از لیست کشویی، جدول یا درخواستی را انتخاب کنید که حاوی نام فیلدهایی است که می خواهید در لیست یا جعبه ترکیبی نمایش داده شود.

      اگر می خواهید چندین ستون را در یک کنترل قرار دهید، به سلول خواص بروید تعداد ستون هاو شماره آنها را وارد کنید. عرض ستون ها را با استفاده از ویژگی تنظیم کنید عرض ستون. برای دریافت اطلاعات بیشتر در مورد هر ویژگی، مکان نما را در فیلد آن ویژگی قرار داده و F1 را فشار دهید.

      اگر می‌خواهید Access مقدار انتخاب شده را ذخیره کند، روی قسمت خصوصیات کلیک کنید داده هاو فیلدی را که می خواهید لیست یا جعبه ترکیبی را به آن ضمیمه کنید مشخص کنید.

    تنظیم یک لیست یا جعبه ترکیبی

    با یک فرم باز در نمای طراحی، لیست یا جعبه ترکیبی را انتخاب کنید و F4 را فشار دهید تا صفحه خصوصیات کنترل باز شود. سپس یکی از موارد زیر را انجام دهید:

      ترتیب مرتب سازی یک لیست یا جعبه ترکیبی را تغییر دهید.اگر از یک جادوگر برای ایجاد یک لیست یا جعبه ترکیبی استفاده کرده‌اید، Access به‌طور خودکار ردیف‌هایی را که فهرست را تشکیل می‌دهند بر اساس اولین ستون قابل مشاهده مرتب می‌کند. اگر نیاز دارید ترتیب مرتب سازی دیگری را مشخص کنید یا اینکه خاصیت را مشخص کنید منبع ردیفکنترل، یک پرس و جو ذخیره شده انتخاب شد، از روش زیر استفاده کنید.

      پیوست کردن یک ستون فهرست یا جعبه ترکیبی

      در قسمت خواص ستون پیوستلیست یا جعبه ترکیبی، عدد مربوط به شماره ستون لیست یا جعبه ترکیبی را وارد کنید. برای مثال وارد کنید 1 برای پیوست کردن اولین ستون یک لیست یا جعبه ترکیبی به فیلد زیرین مشخص شده در ویژگی داده ها. هنگام تعیین شماره ستون باید ستون های پنهان را در نظر گرفت.

      اگر برای ملک ستون پیوستاگر روی 0 تنظیم شود، اکسس به جای مقادیر یکی از ستون ها، فهرست فهرست را ذخیره می کند. اگر بخواهید دنباله ای از اعداد را به جای مقادیر لیست ذخیره کنید، این کار راحت است.

      یک ستون را در کادر فهرست یا جعبه ترکیبی روی یک فرم پنهان کنید

      • در قسمت خواص عرض ستونمقدار را وارد کنید 0 برای ستون هایی که می خواهید پنهان کنید.

        فرض کنید یک جعبه ترکیبی پیوست شده با دو ستون دارید: "شناسه فروشنده" با عرض 1 سانتی متر و "نام فروشنده" با عرض 5 سانتی متر ستون "شناسه فروشنده" اولین ستون لیست است ویژگی عرض ستونارزش داده شده 1 سانتی متر؛ 5 سانتی متر. برای پنهان کردن ستون Supplier Code، ویژگی را روی آن تنظیم کنید عرض ستونمعنی 0 سانتی متر؛ 5 سانتی متر. ستون Supplier Code با وجود اینکه پنهان است پیوست می ماند.

        توجه داشته باشید:اگر لیست بزرگ نشده باشد، اولین ستون فهرست قابل مشاهده در جعبه ترکیبی نمایش داده می شود. به عنوان مثال، در مثال قبلی، ستون SupplierName نمایش داده می شود زیرا ستون SupplierId مخفی است. اگر پنهان نبود، فیلد مقادیر آن ستون را به جای ستون SupplierName نشان می‌دهد.

      عنوان ستون ها را به یک جعبه ترکیبی در فرم اضافه کنید

      • برای نمایش هدر ستون ها، ویژگی را تنظیم کنید سرفصل های ستونمعنی آره. در جعبه های ترکیبی، عناوین لیست تنها زمانی نمایش داده می شوند که لیست را گسترش دهید.

        اگر یک جعبه یا لیست ترکیبی مبتنی بر منبع رکورد باشد، Access از نام فیلدهای آن منبع رکورد به عنوان سرفصل ستون ها استفاده می کند. اگر یک جعبه یا لیست ترکیبی از لیستی از مقادیر ثابت ایجاد شود، اکسس از n عنصر اول لیست مقادیر (مشخص شده در ویژگی Row Source) به عنوان سرفصل ستون ها استفاده می کند. nبرابر با ارزش ملک تعداد ستون ها.

      همانطور که برای یک جعبه ترکیبی در فرم تایپ می کنید، تکمیل خودکار را غیرفعال کنید

      • در قسمت خواص تعویض خودکارمقدار را تنظیم کنید خیر.

        در این صورت، باید یک مقدار را از لیست انتخاب کنید یا آن را به طور کامل وارد کنید.

      تنظیم عرض لیست برای یک جعبه ترکیبی در یک فرم

      • در قسمت خواص وارد کنید عرض فهرستمقدار عرض در واحدهای اندازه گیری فعلی (تنظیم شده در کنترل پنل ویندوز). برای استفاده از واحدهایی غیر از پیش‌فرض، نماد واحد را وارد کنید. برای مثال مقدار را وارد کنید 2 سانتی متر. مطمئن شوید که فضای کافی برای نوار اسکرول باقی می گذارید.

        فهرست یک جعبه ترکیبی می‌تواند وسیع‌تر از کادر متنی آن باشد، اما نمی‌تواند باریک‌تر باشد. مقدار پیش فرض ( خودکار) عرض یکسان را برای قسمت متن و لیست تضمین می کند.

      حداکثر تعداد سطرها را برای نمایش در یک جعبه ترکیبی روی یک فرم تنظیم کنید

      • یک عدد را در قسمت ملک وارد کنید تعداد خطوط فهرست.

        اگر تعداد واقعی ردیف های لیست از مقدار مشخص شده در ویژگی بیشتر شود تعداد خطوط فهرست، هنگام گسترش لیست، یک نوار پیمایش عمودی نمایش داده می شود.

      محدود کردن مقادیر جعبه ترکیبی به موارد موجود در کادر فهرست در یک فرم

      • در قسمت خواص خود را به یک لیست محدود کنیدمقدار را انتخاب کنید آره.

        یادداشت:

        • اگر اولین ستونی که در یک جعبه ترکیبی ظاهر می‌شود متصل نباشد، نمی‌توانید مقادیری را در فیلد که در لیست نیستند وارد کنید، حتی اگر ویژگی خود را به یک لیست محدود کنیدارزش داده شده خیر.

          اگر برای ملک خود را به یک لیست محدود کنیدارزش داده شده خیر، سپس وقتی مقداری را در یک جعبه ترکیبی پیوست شده وارد می کنید که در لیست نیست، آن مقدار در قسمت پایه وارد می شود اما به لیست اضافه نمی شود. برای افزودن موارد به لیست، از ویژگی استفاده کنید فهرست نشده استو رویداد در لیست نیست.

    اغلب اوقات لازم است به کاربر اجازه داده شود تا تنظیمات فرم را انتخاب کند (قبل از کلیک بر روی دکمه "Run all"). هنگامی که باید یک مقدار را از چندین مقدار از پیش تعریف شده انتخاب کنید، اغلب از یک لیست کشویی از مقادیر 1C در فرم استفاده می شود.

    لیست کشویی مقادیر 1C در فرم - یک فیلد انتخاب را به فرم مشتری ضخیم اضافه کنید، نام آن را مشخص کنید. برای جلوگیری از تغییر لیست توسط کاربر، علامت "ویرایش متن" را در قسمت خصوصیات فیلد انتخاب بردارید.

    ما خود لیست انتخاب را به صورت برنامه نویسی در کنترل کننده فرم "On Opening" اضافه می کنیم. فیلد انتخاب دارای یک لیست تابعی از مقادیر است، FormItems.SelectionFieldName.ChoiceList، و برای تنظیم مقدار پیش فرض، و برای تعریف مقدار انتخاب شده، FormItems.SelectionFieldName.Value:
    رویه OnOpen()

    FormElements.ValueSelection.SelectionList.Clear();
    Form Elements.Value Selection.Selection List.Add(0, "Create Document");
    Form Elements.Value Selection.Selection List.Add(1, "Edit Document");
    Form Elements.Value Selection.Selection List.Add(2, "Delete Document");
    FormElements.ValueSelection.Value = 0;

    پایان رویه

    لیست کشویی مقادیر 1C در فرم - در تین کلاینت در فرم باید یک ویژگی فرم ایجاد کنید که در آن نتیجه را ذخیره می کنیم، به عنوان مثال با نوع رشته. آن را روی فرم بکشید.
    لیست کشویی مقادیر 1C در فرم - گزینه 1)

    • دکمه انتخاب لیست را فعال کنید
    • در ویژگی "Selection List" روی "..." کلیک کنید و گزینه ها را وارد کنید
    • نتیجه انتخاب در ویژگی انتخاب شده ذخیره می شود


    لیست کشویی مقادیر 1C در فرم - گزینه 2)

    • دکمه انتخاب لیست را فعال کنید
    • بیایید یک کنترل کننده برای "شروع انتخاب از لیست" اضافه کنیم

    &OnClient
    Procedure SelectedValueStartSelectionFromList(Element, StandardProcessing)

    Items.SelectedValue.SelectionList.Add("Add Document");
    Items.SelectedValue.SelectionList.Add("ویرایش سند");
    Items.SelectedValue.SelectionList.Add("حذف سند");

    پایان رویه

    نتیجه مشابه است. اگر قرار است فهرست با ارجاع به کتاب های مرجع/اسنادی که از پیش تعریف نشده اند پر شود، الزامی است.

    لیست کشویی مقادیر 1C در فرم - گزینه 3)

    این گزینه به طور مشابه کار می کند، اما رابط کاربری متفاوت به نظر می رسد.

    برای هر شی پیکربندی، که ممکن است شامل اشیاء فرعی از نوع "فرم" باشد، هنگام افزودن یک فرم جدید، طراح فرم راه اندازی می شود. این یک جادوگر ویژه است که به شما کمک می کند نوع فرم را انتخاب کنید و جزئیات شی پیکربندی را قرار دهید. با وجود تفاوت های قابل توجه در انواع اشیایی که فرم برای آنها ایجاد می شود، سازنده ها اشتراکات زیادی دارند. بیایید با استفاده از مثال سازنده فرم دایرکتوری به کار سازنده نگاه کنیم.

    بیایید فرم عنصر دایرکتوری "Currencies" را در پیکربندی wireframe ایجاد کنیم.

    در پنجره ویرایش شی دایرکتوری "ارزها" در برگه "فرم ها"، در قسمت نمایش لیست فرم ها، روی دکمه کلیک کنید یا با انتخاب مورد "افزودن" از منوی زمینه، یک فرم را اضافه کنید. هنگامی که یک فرم شی جدید ایجاد می کنید، طراح فرم روی صفحه نمایش داده می شود. گروه کنترل های "انتخاب نوع فرم" برای انتخاب نوع فرم در نظر گرفته شده است (ترکیب بر اساس نوع شی پیکربندی انتخابی که فرم برای آن ایجاد می شود تعیین می شود). بیایید فرم عنصر دایرکتوری را انتخاب کنیم.


    تعداد فرم ها برای هر نوع فرم محدود نیست. اگر یک شی چندین شکل از یک نوع داشته باشد، می توان یکی از آنها را به عنوان اصلی انتخاب کرد. برای تعیین فرم اصلی، کادر "تنظیم فرم به عنوان اصلی" را علامت بزنید. اگر یک فرم سفارشی انتخاب شده باشد، ویژگی اصلی ایجاد نمی شود - فرم دارای رفتار استاندارد است. وقتی فرمی را به عنوان اصلی انتخاب می‌کنید، پایه‌های اصلی ایجاد می‌شوند و رفتار فرم با فرم استاندارد متفاوت است. این تفاوت ها توسط اشیاء فرم پسوند توصیف می شوند.

    انتخاب نوع فرم، نوع ویژگی های اصلی و رفتار کل فرم و همچنین ترکیب احتمالی دستورات نوار ابزار را تعیین می کند.


    مهم! طراح فرم جزئیاتی را که نوع آنها نمایش بصری ندارد (مثلاً Value Storage) در لیست قرار نمی دهد.

    با کلیک بر روی دکمه "پایان"، شکل عنصر دایرکتوری "ارزها" را دریافت می کنیم.


    در آینده، می توانید ترکیب جزئیات را با استفاده از پنجره "قرار دادن داده ها" تغییر دهید. برای باز کردن پنجره، "Form - Data placement" را از منوی اصلی انتخاب کنید.

    هنگام ایجاد فرم می توان دو پنل فرمان استاندارد را در آن قرار داد. برای پانل ها، طراح "فرم" را به عنوان منبع عمل مشخص می کند. منبع اقدامات را می توان بعداً تغییر داد و ترکیب دستورات را می توان با دستورات سفارشی گسترش داد. ترکیب پانل های فرمان بر اساس منبع اقدامات و نوع ویژگی فرم اصلی تعیین می شود.

    پس از اجرا شدن طراح فرم، می توانید به کار با فرم ادامه دهید. به عنوان مثال، صفحات جدید را در آن قرار دهید، اضافی کنترل ها، ترتیب عناصر را نسبت به یکدیگر تغییر دهید، آنها را در صفحات توزیع کنید و غیره.

    کنترل ها

    کنترل هانشان دهنده گروه جداگانه ای از اشیاء است که برای نمایش و ویرایش داده ها در یک فرم در نظر گرفته شده است. آنها را می توان در فرم قرار داد و برای ویرایش سلول های یک فیلد جدول یا سند صفحه گسترده استفاده کرد. درست مثل خود فرم، کنترل هابا استفاده از جزئیات فرم به داده ها پیوند داده شده است. بسته به نوع داده های مرتبط با یک کنترل، مجموعه ای از ویژگی ها، روش ها و رویدادها متفاوت است.



    فهرستی از انواع کنترل و طراحی عناصر را می توان از منوی "Form"، "Insert Control" مشاهده کرد. برای کنترل میزبان، می توانید یک نام، عنوان، اتصال به داده، تعیین نوع داده، مشخص کردن رویه ها - کنترل کننده رویداد و غیره را مشخص کنید.

    ارتباط کنترل ها با داده ها، رفتار خود کنترل ها را تعیین می کند.

    به عنوان مثال، اگر یک فیلد ورودی با داده هایی از نوع Date مرتبط باشد، ظاهر فیلد ورودی تغییر می کند: نمادهای جداکننده تاریخ و یک دکمه انتخاب اضافی ظاهر می شود:


    کنترل ها، که در فرم های 1C: Enterprise استفاده می شود، بر انجام وظایف تجاری متمرکز است. به عنوان مثال، یک فیلد ورودی ممکن است تعدادی دکمه اضافی داشته باشد: انتخاب از یک لیست، انتخاب، پاک کردن، تنظیم و باز کردن. علاوه بر این، فیلد ورودی دارای یک حالت خالی علامت گذاری خودکار است (که با یک خط نقطه قرمز زیر خط کشیده شده است)، که به شما امکان می دهد فیلدهایی را که باید توسط کاربر پر شود برجسته کنید:


    اقدامات انجام شده هنگام کلیک بر روی دکمه های اضافی در یک فیلد ورودی ممکن است بسته به نوع داده ای که در آن فیلد نمایش داده می شود متفاوت باشد. دکمه انتخاب آیکون های مختلفی خواهد داشت.

    از آنجایی که پلت فرم 1C: Enterprise امکان ذخیره سازی در زمینه های پایگاه داده در انواع مختلف را فراهم می کند، کنترل هاهمچنین ورود و ویرایش انواع مختلف داده ها را در یک عنصر فراهم می کند. به عنوان مثال، یک فیلد ورودی که در آن انواع مختلفی از داده ها را می توان وارد کرد به شکل زیر است:


    یک نماد خاص در دکمه انتخاب (T) نشان می دهد که نوع داده ورودی هنوز برای این فیلد ورودی تعریف نشده است. با کلیک بر روی این دکمه، سیستم پنجره مخصوصی را برای انتخاب نوع داده های موجود در این قسمت باز می کند.

    تابع "ورودی خط" ظاهر شده است. به عنوان مثال، در قسمت ورودی یک عنصر دایرکتوری، اگر کاربر حروف اول نام را تایپ کند، عنصر دایرکتوری به طور خودکار جایگزین می شود یا لیستی از عناصر دایرکتوری مناسب نمایش داده می شود.


    کنترل "شاخص" برای نشان دادن وضعیت فعلی مقداری عددی در حال تغییر طراحی شده است. به عنوان مثال، می توان از آن برای نمایش بصری فرآیند تکرار از طریق ردیف های جدول مقادیر یا عناصر آرایه استفاده کرد. این نشانگر برای ایجاد هیچ رویدادی طراحی نشده است، همچنین نمی تواند داده های مرتبط با آن را تغییر دهد.


    در پالت ویژگی های نشانگر، می توانید مقادیر حداقل و حداکثر را تنظیم کنید و کادر "نمایش درصدها" را انتخاب کنید.

    عنصر کنترل "بند تنظیم" برای تغییر بصری مقادیر عددی در نظر گرفته شده است. مقدار متغیر مرتبط هنگام حرکت "لغزنده" در امتداد خود "بند تنظیم" از حداقل به حداکثر مقدار تنظیم شده تغییر می کند. "موتور" را می توان با استفاده از ماوس، کلیدهای مکان نما و کلیدهای PgUp و PgDn حرکت داد.


    کنترل نوار فرمان مجموعه‌ای از دکمه‌ها، معمولاً با نمادها، برای انجام اقدامات روی فرم فعلی یا برخی از کنترل‌ها، مانند کادر جدول است.

    "پانل فرمان" را می توان به طور خودکار تولید کرد یا توسط توسعه دهنده پیکربندی کرد. اگر چک باکس AutoFill در ویژگی های نوار فرمان انتخاب شده باشد و ویژگی Action Source مشخص شده باشد، نوار فرمان به طور خودکار با دستورات مخصوص این منبع پر می شود.

    هر دکمه "Command Bar" دارای یک ویژگی "Action" است که یکی از اقدامات استاندارد را مشخص می کند یا یک رویه ماژول را فراخوانی می کند.

    اگر ویژگی "Command Bar" روی "Auxiliary" تنظیم شود، این نشان می دهد که نوار فرمان در عبور از عناصر فرم دخالتی ندارد.


    کنترل "پانل" برای ایجاد فرم هایی طراحی شده است که به صورت پویا ترکیب عناصر خود را بسته به اقدامات کاربر تغییر می دهد. یک "پانل" شامل یک یا چند صفحه است که می توانند به عنوان نشانک ارائه شوند. نشانک ها را می توان در بالا، پایین و کنار پانل قرار داد. مدیریت صفحات "پانل" با استفاده از زبان داخلی امکان پذیر است. قابل توزیع است کنترل هادر صفحات مختلف "پانل" تا بسته به موقعیت، فقط عناصر لازم را روی فرم نشان داده و بقیه را پنهان کنید. در 1C:Enterprise 8.0، پانل را می توان در هر جایی از فرم قرار داد، و یک پانل تودرتو را می توان در صفحه یک پانل قرار داد.

    کنترل "فیلد انتخاب" به شما امکان می دهد یک مقدار را از بین چندین مقدار تو در تو که معمولاً در مرحله طراحی تنظیم می شوند انتخاب کنید. لیست مقادیر ممکن در ویژگی "Selection list lines" در پالت خواص مشخص شده است. از نظر برنامه‌ریزی، فهرست مقادیر ممکن برای یک فیلد انتخابی از طریق ویژگی SelectionList، که یک شی از نوع ValueList است، در دسترس است.

    کنترل "List Field" برای تجسم یک شی داده از نوع ValueList طراحی شده است. تمام اقدامات برای مدیریت لیست مقادیر (افزودن یک مقدار به فهرست، حذفمقادیر از یک لیست، مرتب سازی یک لیست و غیره) فقط با استفاده از زبان داخلی انجام می شود.

    کنترل "Checkbox" برای داده هایی استفاده می شود که حالت "روشن" و "خاموش" دارند. از پرچم هایی استفاده می شود که دو یا سه حالت دارند. تعداد حالت های چک باکس به نوع مقدار مربوط به چک باکس بستگی دارد: چک باکس با مقدار نوع Boolean می تواند تنها دو حالت داشته باشد ("روشن"، "غیرفعال")، با مقدار نوع شماره می تواند سه حالت داشته باشد ( "روشن"، "خاموش"، تعریف نشده (علامت تیک سایه دار)).


    سوئیچ ها به شما امکان می دهند یک گزینه را از بین چندین گزینه انتخاب کنید، بنابراین همیشه دو یا چند مورد از آنها وجود دارد. اولین دکمه رادیویی در یک گروه باید دارای ویژگی "اولین در گروه" باشد. همه سوئیچ های این گروه باید دارای یک ترتیب بای پس متوالی باشند. اگر این شرایط رعایت نشود، سوئیچ ها به درستی کار نمی کنند.


    فیلد جدول یک عنصر کنترلی است که به شما امکان می دهد با لیست های مختلف، مجموعه رکوردها، فیلدهای جدول و همچنین مجموعه داده های پویا ValueTable و ValueTree کار کنید. نوع مقدار یک ردیف فیلد جدول به نوع مقدار مربوط به فیلد جدول بستگی دارد. این می تواند فهرستی از عناصر دایرکتوری، فهرستی از اسناد، بخش جدولی یک فهرست یا سند، جدول مقادیر و غیره باشد.

    امکان نمایش داده های سلسله مراتبی در یک فیلد جدول به صورت زیرپوشه یا به صورت درختی وجود دارد.


    کنترل "فیلد جدول" از خود فیلد جدول، یک سرصفحه، یک پاورقی و سلول ها تشکیل شده است. هر قسمت از عنصر را می توان سفارشی کرد.

    خواص فیلد جدول را می توان به دو گروه تقسیم کرد. گروه اول شامل ویژگی های فیلد جدول به عنوان یک کل، به عنوان یک عنصر است.

    گروه دوم از خصوصیات فیلد جدول از ویژگی های اجزای تشکیل دهنده آن تشکیل شده است.

    در Configurator، توسعه دهنده لیستی از ستون های فیلد جدول را مشخص می کند، اما کاربر هنگام کار می تواند به طور مستقل ترتیب و ترتیب ستون ها را برای خود پیکربندی کند. کاربر می تواند لیست پویا را بر اساس جزئیات مرتب کند و یک انتخاب تصادفی تنظیم کند.

    کنترل "فیلد تقویم" به شما امکان می دهد تاریخ را به صورت تصویری انتخاب کنید. تاریخ فعلی با یک مربع قرمز برجسته شده است. اگر فیلد تقویم را گسترش دهید، به طور خودکار ماه های بیشتری را منعکس می کند.


    فیلد سند متنی - برای قرار دادن یک ویرایشگر متن در فرم طراحی شده است. عناصر این نوع با اشیاء پیکربندی مرتبط نیستند.

    جداکننده برای سازماندهی و مدیریت مناطق یک فرم استفاده می شود. می‌تواند فضای داخلی یک فرم را با تغییر اندازه کنترل‌های موجود در آن، که به جداکننده محدود شده‌اند، توزیع کند. این عنصر دارای ویژگی Data Type نیست و با سایر اشیاء پیکربندی مرتبط نیست.

    کنترل فیلد سند HTML قابلیت نمایش، ناوبری و ویرایش اسناد HTML را فراهم می کند. حالت استفاده در ویژگی Mode انتخاب شده است. اگر از حالت "View" استفاده می شود، برای پانل فرمان که منبع اعمال آن این فیلد است، با مجموعه ویژگی AutoComplete، مجموعه ای از دکمه های ناوبری تعریف می شود. همچنین امکان اضافه کردن دکمه Stop وجود دارد.

    برای استفاده از این فیلد، باید آن را پیکربندی کنید (به عنوان مثال، URL منبع را در روش اولیه مشخص کنید، یک پنل فرمان مرتبط با این عنصر را در فرم قرار دهید و غیره).

    اگر از حالت "ویرایش" استفاده می شود، در حالت "1C: Enterprise" این قسمت امکان ویرایش سند HTML را می دهد.

    دکمه یک عنصر کنترلی است که برای راه‌اندازی یک رویه کنترل‌کننده خاص طراحی شده است. دکمه ممکن است حاوی یک تصویر باشد: . وقتی دکمه ای را اضافه می کنید، رویه ای به طور خودکار ایجاد می شود که با فشار دادن دکمه فعال می شود. ویژگی "حالت منو" به شما امکان می دهد هنگام تنظیم "استفاده"، دکمه را به یک منوی کشویی پیچیده کنید، اگر "استفاده اضافی" تنظیم شده باشد، دکمه به دو قسمت تقسیم می شود: اقدامات برنامه هنگام فشار دادن این دکمه در مرحله پیکربندی مشخص می شود. ترکیب اقدامات هنگام کلیک کردن به ویژگی "Action Source" بستگی دارد.

    المان کنترلی "Picture Field" به گونه ای طراحی شده است که در قالب تصاویر مختلف قرار می گیرد. مکانیسم پیوند به شما این امکان را می دهد که برخی از اقدامات انجام شده را با کلیک بر روی آن با فیلد تصویر مرتبط کنید. استفاده از انواع تصاویر متحرک مجاز است.

    می توانید تصاویر را در زیرنویس ها، فیلدهای ورودی و سایر کنترل ها قرار دهید.

    دکمه ها، تصاویر و کتیبه ها می توانند به عنوان لینک استفاده شوند. در این حالت، آنها به یک کلیک ماوس پاسخ می دهند (رویداد کلیک رخ می دهد).

    رویه های از پیش تعریف شده در نسخه 7.7 اکنون رویه های کنترل کننده رویداد نامیده می شوند و معمولاً می توانند نام هایی داشته باشند که با نام رویدادها متفاوت باشند. این برای همه رویه های کنترل کننده اعمال می شود، به جز مواردی که در ماژول های شی و ماژول های برنامه قرار دارند. اختصاص یک کنترل کننده برای یک رویداد در ویژگی های فرم یا کنترل انجام می شود.


    کلمات کلیدی: انتخاب، پردازش انتخاب، پردازش انتخاب، انتخاب چندگانه، بستن هنگام انتخاب، اطلاع در مورد انتخاب

    1. انتخاب ساده

    در فرم دکمه "انتخاب" را قرار می دهیم. این می تواند یک دکمه نوار ابزار یا یک دکمه مستقل باشد.

    در کنترل کننده رویداد Press برای دکمه می نویسیم:

    رویه kpProductsSelection(Button)SelectionForm = Directories.Nomenclature.GetSelectionForm(,ThisForm); SelectionForm.CloseWhenSelecting = False; SelectionForm.Open(); پایان رویه

    چند اتفاق بسیار جالب رخ می دهد:

    1. در خط اول فرم انتخاب را دریافت می کنیم. این یک فرم خاص است که ممکن است مشابه فرم لیست نباشد (یا ممکن است یکسان باشد). شما می توانید یک فرم انتخاب را خودتان ایجاد کنید، یا به طور خودکار توسط سیستم تولید می شود، یا فرم لیست می تواند در حالت انتخاب کار کند.

    اگر نه یک فرم انتخاب، بلکه یک فرم معمولی (با استفاده از روش GetForm یا GetListForm) دریافت کرده اید، به طور پیش فرض ویژگی Selection Mode آن تنظیم نشده است. شما باید این ویژگی را روی True تنظیم کنید یا خودتان در مورد انتخاب یک عنصر اطلاع دهید (به روش فرم NotifyOfSelection مراجعه کنید).

    الف) پارامتر اول را می توان به نام فرم یا شیء توصیف کننده متادیتای نوع فرم ارسال کرد. اگر یک شی چندین فرم انتخاب داشته باشد، در اینجا می توانید مشخص کنید که کدام فرم باید استفاده شود.

    ب) پارامتر دوم صاحب فرم را مشخص می کند - فرم یا کنترلی که فرم انتخاب از آن فراخوانی می شود. پس از انتخاب، یک اعلان انتخاب به صاحب فرم ارسال می‌شود که رویداد «پردازش انتخاب» (در فرم یا عنصر فرم) را راه‌اندازی می‌کند.

    ج) پارامتر سوم را می توان برای تعیین کلید منحصر به فرد برای جستجو در بین فرم های باز شده استفاده کرد. اگر فرمی با چنین کلید منحصر به فردی یافت شود، آن را برگرداند. اگر نیازی به باز کردن فرم‌های انتخاب جدید ندارید، این کار راحت است.

    2. خط دوم حالتی را تعیین می کند که در آن پس از انتخاب یک مقدار، فرم بسته نمی شود، i.e. این کارکرد اصلی انتخاب است. برای انتخاب چندگانه، منطقی است که این ویژگی را روی True تنظیم کنید، اما در زیر در مورد آن بیشتر توضیح دهید. در اینجا می توانید ویژگی های دیگر فرم باز شده را نیز اختصاص دهید، به عنوان مثال، مکان روی صفحه، مقادیر جزئیات فرم یا متغیرهای صادراتی ماژول فرم را تنظیم کنید.

    3. خط سوم فرم انتخاب را باز می کند. بعد از خط اول، فرم هنوز باز نشده بود، اما ماژول آن قبلاً کامپایل و مقداردهی اولیه شده بود.

    کنترل کننده رویداد "پردازش انتخاب" باید در ویژگی های فرم اختصاص داده شود.

    Procedure Selection Processing(SelectionValue, Source) IfValueType(SelectionValue) = Type("") سپس Row = Products.Find(SelectionValue,"Item"); اگر String = Undefined سپس String = Products.Add(); خط .محصول = محصول; String.Quantity = 1; اگر سوال دیگر (" این محصول از قبل وجود دارد (" + AbbrLP (محصول) + " )! مقدار را افزایش دهیم؟"، DialogModeQuestion.YesNo) = DialogReturnCode.Yes سپس String.Quantity = String.Quantity + 1; EndIf; EndIf; EndProcedure

    2. چند گزینه ای

    با این انتخاب، کاربر می تواند چندین عنصر را به طور همزمان انتخاب کند (مثلاً با استفاده از کلید Ctrl) و پس از فشار دادن دکمه "انتخاب"، سیستم آرایه ای از عناصر انتخاب شده را برمی گرداند و نه یک عنصر را مانند حالت اول. .

    رویه kpProductsSelection(Button)SelectionForm = Directories.Nomenclature.GetSelectionForm(,ThisForm); SelectionForm.MultipleSelect = True; SelectionForm.CloseWhenSelecting = False; SelectionForm.Open(); پایان رویه

    سپس کنترل کننده رویداد HandlingSelection را می توان به صورت زیر نوشت:

    پردازش انتخاب رویه (مقدار انتخاب، منبع) آرایه عناصر انتخاب شده = آرایه جدید; اگر TypeValue(SelectionValue) = Type(" DirectoryLink.Nomenclature") سپس آرایه ای از SelectedElements.Add(SelectionValue); ElseIfTypeValue(SelectionValue) = Type("Array") سپس ArrayofSelectedElements = SelectionValue؛ EndIf؛ برای هر عنصر از حلقه ArrayofSelectedElements // با عنصر بعدی عمل می کندچرخه پایان ; پایان رویه

    توجه: برای ایجاد دستی یک رویداد انتخاب از فرم انتخاب، باید از تابع NotifyOfSelection استفاده کنید.

    این همه، در واقع. انتخاب کار آسانی است اگر بفهمید چه اتفاقی می افتد.