كادرهاي ليستي
كاربران اغلب لازم داند كه كه موردي را از يك ليست انتخاب كنند و يا چيزي را به اقلام ليستي اضافه نمايند.ويژوال بيسيك دو نوع كنترل كادر ليستي و كادر كومبو را براي اين منظور فراهم مي آوردكه مي توانيد با استفاده از آنها ليستي را نمايش دهيد.كنترل كادرهاي ليستي و آرايه ها رامي توانيد در هم ادغام كنيد تا در هنگام پردازش ليست هاي اطلاعات كاملا هماهنگ با هم عمل كنند.
شما در هنگام كار با ويندوز و برنامه هاي جانبي ديگري كه در ويندوز با آنها كار كرديد به اين كادر ها برخورد كرده ايد..كنترل كادر ليستي و يا همان
ListBox به كاربر امكان انتخاب كردن از ميان چندين مورد را مي دهد.كاربر به جاي تايپ كردن مقداري درون درون يك كادر متني گزينه اي را انتخاي مي كند.
هر كادر ليستي مي تواند حاوي يك يا چند ستون باشد.براي آشنائي بيشتر با مشخصات كنترل كادر ليستي بهتر است يك ListBox به فرم اضافه كنيد و نظري به مشخصات آن در لايه Properties بيافكنيد.در پايين به برخي از اين خصوصيات اشاره مي كنم:
BackColor: رنگ زمينه كادر ليستي را مشخص مي سازد.
Columns: تعداد ستونها را تعيين مي كند.اگر صفر باشد كادر ليستي به صورت عمودي بر روي يك ستون پيمايش مي شود.اگر 1 را بيشتر باشد اقلام كادر ليستي در تعداد ستون مشخص شده نمايش مي يابد و نوار پيمايش افقي پديدار مي گردد.
ForeColor: رنگ متن را مشخص مي سازد.
List: مقاديري را كه مي توانيد در زمان اجرا درون كادر ليستي وارد كنيد در يك كادر ليستي با خصوصيات پائين افتادني نگه مي دارد.در هر زمان مي توانيد موردي را در ليست وارد كنيد.(بعضي وقتها لازم است در هنگام شروع برنامه كادر ليستي شما با مقادير ثابتي پر شود در اين هنگام از اين خاصيت استفاده مي كنيد.)
MultiSelect: وضعيت قواعد انتخابي كادر ليستي است.اگر صفر باشد كاربر فقط مي تواند يك گزينه را از ليست بر گزيند.اگر 1 باشد كاربر مي تواند بيش از يك مورد را با كليك ماوس انتخاب نمايد.اگر 2 باشد كاربر مي تواند چندين مورد را با استفاده از كليك + sheeft انتخاب نمائيد.
Sorted: تعيين مي كند كه مقادير ليستي به طور خودكار مرتب شوند و يا خير.
مشخصات ديگري نيز هم وجود دارد كه قبلا در كنترل هاي ديگر به آنه پرداختيم.
اما روشهاي موجود براي كنترل كادر ليستي روالهائي هستند كه يك كنترل مي داند كه چگونه آنها را اجرا كند.روشهاي متداول در كادر هاي ليستي همانند زير است. براي دستيابي به اين متدها كافي است نام listbox ي را كه در فرم قرار دهيد را در هر كدام از روالهائي كه قبلا آموختيد بنويسيد و علامت "." بگذاريد تا به آنها دستيابي داشته باشيد)
AddItem : گزينه اي را به كادر ليستي اضافه مي كند.
Clear : تمامي اقلام را از كادر ليستي حذف مي كند.
List : آرايه اي رشته اي كه اقلام درون كادر ليست را نگه مي دارد.
ListCount : تعداد كل اقلام درون كادر ليستي .
RemoveItem : موردي را از كادر ليستي حذف مي كند.
متداولترين روش در هنگام اضافه كردن اقلام به listbox استفاده از AddItem است.فرض كنيد مي خواهيد تعداد روزهاي يك ماه 30 روزه را درليست نمايش دهيد.براي اين منظور با استفاده از يك حلقه For ليست را پر مي كنيد.دقت كنيد كه برخورد ويژوال بيسيك با مقادير ليست همانند آرايه هاي از رشته هاست.(لازم است مفهوم آرايه ها را به درستي بدانيد)
به كد زير دقت كنيد:
کد:
کد:
Private Sub Form_Load()
For i = 1 To 30
List1.AddItem i
Next
End Sub
با اجرا شدن اين كد شكل زير نمايش خواهد يافت.مي بينيد كه اعداد 1 تا 30 در يك ليست نمايش داده شده اند كه قابل انتخاب است.
هر مورد در كادر ليستي حاوي يك انديس مرتبط است.انديس ،عددي است كه براي اولين گزينه درون كادر ليستي برابر 0، براي دومين برابر 1و الي آخر است.
بنابراين اگر خواستيد مقدار عدد 10 را در مثال بالا حذف كنيد كافي است بنويسيد:
(List1.RemoveItem (9
از متدهاي ديگر كادر ليستي ListIndex است كه به خانهاي از ليست شما اشاره دارد.
از Selected براي فهميدن اينكه كاربر موردي از كادر ليستي را انتخاب كرده يا خير استفاده مي شود.
كادر هاي كومبو
كادر هاي كومبو دقيقا شبيه كادر ليستي است با اين تفاوت كه كاربر در زمان اجرا مي تواند اقلامي را به كادر كومبو اضافه كند در حالي كه در زمان اجرا تنها مي تواند بر روي اقلام يك كادر ليستي پيمايش كند و آنها را انتخاب كند.