اين كنترل يكي از پركاربردترين كنترل ها در برنامه نويسي ويندوز است. كار اين كنترل، همانطور كه از اسمش معلوم است، نمايش دادن پنجره هاي معمول در ويندوز است. شايد شما تا حالا برايتان پيش آمده باشد كه بخواهيد در يك برنامه دستور Open قرار دهيد به طوري كه اجراي آن، پنجره اي باز شود و كاربر بتواند فايل مورد نظر را انتخاب كند.

خب، لازم نيست كه شما يك فرم طراحي كنيد، بلكه به راحتي مي توانيد از اين كنترل استفاده كنيد.
- حالا يك پروژه VB باز كنيد.
- در جعبه ابزار راست كليك كرده و گزينه ...Components را برگزينيد. مورد Microsoft Common Dialog Control را تيك بزنيد و OK را كليك كنيد.
- حالا يك CommonDialog و يك دكمه روي فرم بگذاريد. ويژگي CancelError مربوط به CommonDialog را True كنيد.
- در رويداد كليك دکمه، كد زير را بنويسيد:
CommonDialog1.Filter = "All Executable files|*.exe|All files|*.*"
CommonDialog1.ShowOpen
Shell CommonDialog1.FileName

حالا اگر برنامه را اجرا كنيد و Open را بزنيد، پنجره Open ويندوز را خواهيد ديد.
توضيح:
ويژگي Filter همانطور كه از نامش برمي آيد، براي فيلتر کردن فايل هاي قابل رؤيت به كار مي رود. در بالا ما دو انتخاب به كاربر داديم كه اولي فقط فايل هاي اجرايي را نشان مي دهد و دومي تمام فايل ها را.
متد ShowOpen هم كه پنجره Open را نشان مي دهد.
تابع shell هم كه از توابع داخلي ويژوال بيسيك است، براي اجراي يك برنامه به كار مي رود.
حالا يك دكمه ديگر روي فرم بگذاريد. در رويداد كليك اين دكمه بنويسيد:
CommonDialog1.ShowColor
Me.BackColor = CommonDialog1.Color
برنامه را اجرا كنيد و نتيجه را ببينيد.
حالا اگر دقت كرده باشيد، كدهاي بالا يك اشكال دارند و آن هم اين است كه هنگام زدن Cancel، با خطا (error) مواجه مي شويم. براي رفع اين مشكل، كد اول را به شكل زير تغيير دهيد:
On Error Resume Next
CommonDialog1.Filter = "All Executable files|*.exe|All files|*.*"
CommonDialog1.ShowOpen
If Err Then Exit Sub
Shell CommonDialog1.FileName


مي بينيد كه دو خط كد اضافه كرديم. در خط اول به كامپايلر مي گوييم كه هنگام به وجود آمدن error، اجراي برنامه را قطع نكند و خط بعدي را اجرا كند. بعد از دستور ShowOpen هم بررسي مي كنيم كه اگر error به وجود آمده باشد (يعني اگر دكمه Cancel زده شده باشد) اجراي دستورات را متوقف كند.
حالا كد دوم را هم خودتان اصلاح كنيد.
حالا ويژگي ها و متدها (Methods) و رويدادهاي (Events) مهم اين كنترل را توضيح مي دهم. اول از همه خيالتان را راحت كنم كه اين كنترل، هيچ رويدادي ندارد.
- ويژگي CancelError: در صورت فعال بودن، هنگام فشرده شدن Cancel، يك error به وجود مي آورد.
- ويژگي DialogTitle: نام پنجره محاوره را مشخص مي كند. مي توانيد به دلخواه خود آن را تغيير دهيد.
- ويژگي FileName: آدرس كامل آخرين فايل انتخاب شده را برمي گرداند.
- ويژگي FileTitle: نام آخرين فايل انتخاب شده را برمي گرداند.
- ويژگي Filter: قبلاً توضيح داده شد.
- متد ShowColor: پنجره انتخاب رنگ ويندوز را نشان مي دهد.
- متد ShowFont: پنجره انتخاب فونت ويندوز را نشان مي دهد.
- متد ShowHelp: در صورتي كه براي اين كنترل فايل راهنما (Help) مشخص كرده باشد، آن را نشان مي دهد.
- متد ShowOpen: پنجره Open ويندوز را نشان مي دهد.
- متد ShowPrinter: پنجره انتخاب چاپگر ويندوز را نشان مي دهد.
- متد ShowSave: پنجره Save as ويندوز را نشان مي دهد.