تغيير كپشن فرم
وقتي فرمي ايجاد مي شود كلمه Form1 در بالاي آن ايجاد مي شود .اين كلمه را كپشن فرم گويند.به عنوان يك برنامه ساده مي خواهيم كپشن فرم را تغيير دهيم. براي اين منظور مراحل زير را انجام دهيد:
1.ويژوال بيسيك را راه اندازي كنيد و بر روي گزينه Standard EXE كليك كنيد تا پروژه جديدي ايجاد گردد.
اكنون Form1 را در صفحه نمايش مشاهده مي گنيد.
2.در پنجره properties و در بخش Alphabetic صفت كپشن را انتخاب كنيد(بر روي آن كليك كنيد).در مقابل آن Form1نوشته شده است.ماوس را بر روي آن كليك كنيد و با كليد Bakespace
كلمه Form1را پاك كرده My First Form را تايپ كنيد و كليد Enter را فشار دهيد.
3.با كليد F5 يا گزينه RUN/Start برنامه را اجرا كنيد تا شكل زير ظاهر شود. براي خروج از برنامه پنجره آن را ببنديد.
افزودن عتاصر به فرم
برنامه ساده اي كه براي تغيير كپشن فرم نوشتيد فاقد هر گونه عنصر بر روي فرم بوده است اكنون مي خواهيم برنامه اي بنويسيم كه عناصري را به فرم اضافه كند و عملكرد برنامه بر اساس اين دكمه ها مشخص شود.مي خواهيم سه دكمه فرم(CommandButton) بر روي فرم ايجاد كنيم.نام اين دكمه ها را خود سيستم به ترتيب Command1وCommand2و Command3 انتخاب مي كند. فعلا با همين نامها كار مي كنيم و در ادامه مي آموزيم كه چگونه نام اين عناصر را تغيير دهيم.يراي اين منظور مراحل زير را انجام دهيد:
1. با گزينهFile/New project/standard EXE پروژه جديدي ايجاد كنيد.اكنون Form1 را در صفحه نمايش مي بينيد.
2. بر روي عنصر Command Button در سمت چپ صفحه نمايش (در بخشGeneral)دو بار كليك كنيدتا عنصري به نام Command1در صفحه نمايش قرار گيرد:
3.آن را با ماوس حركت دهيد تا در جاي مناسبي از فرم قرار گيرد. براي حركت اين دكمه علامت ماوس را به داخل آن برده دكمه را فشار دهيدوپايين نگه داريدو ماوس را حركت دهيد. وقتي به جاي مناسب رسيديد دكمه ماوس را رها كنيد.
4.پس از تنظيم دكمه Command1 بار ديگربر روي عنصر Command Button دو بار كليك كنيد تا دكمه Command2 ايجاد شود.محل آن را در فرم تنظيم كنيد.
5.به روشي كه گفته شددكمه Command3 را تنظيم نماييد.
6.مي خواهيم با كليك كردن دكمهCommand1كپشن فرم به “First Caption” تبديل شود. براي اين منظور دكمه ماوس را كليك كنيد تا پنجره اي باز شود كه بتوانيد دستورات لازم را براي تبديل كپشن انجام دهيد. اكنون شكل زير ظاهر مي شود.
7. در جايي كه مكان نما قرار دارد دستور زير را تايپ كنيد:
Form1.Caption=”First Caption”
اين دستور مي گويد كه اگر دكمه Command1كليك شود خاصيت Captionمربوط بهForm1 به “First Caption” تغيير كند.پس از تايپ اين دستور پنجره را ببنديدتا به فرم برگرديد.
8.مي خواهيم با كليك كردن دكمه Command2كپشن فرم به “Second Caption”تغيير كند.اين دكمه را دو بار كليك كنيد تا شكلي مانند شكل قبل ظاهر شود .در جايي كه مكان نما قرار دارد دستور زير را تايپ كنيد :
Form1.Caption=”Second Caption”
اكنون پنجره مربوط را ببنديد تا به فرم برگرديد.
9. مي خواهيم با كليك كردن دكمه Command3 برنامه خاتمه يابد.اين دكمه را دو بار كليك كنيد تا شكلي مانند شكل قبل ظاهر شود . در اين شكل در جايي كه مكان نما قرار دارددستور End را تايپ كنيد.اين دستور هر برنامه ويژوال بيسيك را خاتمه مي دهد.پنجره مربوط را ببنديد.
10.برنامه را با كليدF5 يا گزينه RUN/Start اجرا كنيد.
11.دكمه Command1را كليك كنيد.اكنون كپشن فرم به First Caption تغيير مي كند.دكمه Command2 را كليك كنيد.اكنون كپشن فرم به Second Caption تغيير مي كند.
12.براي خروج از برنامه دكمه Command3را كليك كنيد.
13.برنامه را بر روي ديسك ذخيره كنيد.براي اين منظور گزينه File/Save Project As را انتخاب كنيد و در كادري كه نام فايل در خواست مي شود نامي را وارد كنيد و سپس دكمه Save را كليك كنيد.اكنون بايد نام پروژه را انتخاب كنيد پس از انتخاب نام پروژه نيز دكمه Saveرا كليك كنيد.
تغيير اندازه دكمه ها
براي تغيير اندازه دكمه ها دكمه ماوس را بر روي يكي از مربعهاي سياهي كه بر روي اضلاع كادر آن رسم مي شود فشار داده براي بزرگ كردن دكمه أن را به طرف بيرون و براي كوچك كردن دكمه أن را به طرف داخل حركت دهيد.
تغيير نام عناصر موجود در فرم
براي تغيير نام دكمه بر روي أن كليك كنيد و سپس در گزينه Propertiesكليك كرده در قسمت name نام جديدي را براي دكمه تايپ كنيد.برنامه را اجرا كنيدتا به تغييرات ايجاد شده پي ببريد.
حذف عناصر موجود در فرم
براي حذف عناصر موجود در فرم آن را كليك كنيد تا در حالت طراحي قرا رگيرد.اكنون دكمه delete را از صفحه كليد وارد كنيد. بدين ترتيب اين عنصر از فرم حذف مي شود.روش ديگر حذف عنصر استفاده از گزينه Edit/Delete است .براي اين منظور دكمه مورد نظر را كليك كنيدو سپس اين گزينه را انتخاب نماييد.اگر عنصري را از فرم حذف كرديد دو باره مي توانيد آن را برگر دانيد . براي اين منظور از گزينه Edit/Undelete استفاده كنيد.
انواع فايل ها در ويژوال بيسيك
در ويژوال بيسيك چند نوع فايل وجود دارد كه هنگام طراحي ويژوال بيسيك ايجاد مي شوند:
1.فايل پروژه (VisualBasic Project) . اين فايل براي نگهدار ي اطلاعات پروژه از قبيل نوع پروژه و نام فايل فرم و اولين فرم برنامه و غيره مورد استفاده قرار مي گيرد.
2.فايل محيط كاري (VisualBasic Project WorkSpace)VBW . اين فايل اطلاعات محيط كاري فرمهاي پروژه را نگهداري مي كند.
3.فايل فرم (VisualBasic Form File)FRM .اين فايل براي نگهداري اطلاعات در مورد فرمها و برنامه ها مورد استفاده قرار مي گيرد.
4.فايلEXE. اين فايل برنامه اجراي پروژه را نگهداري مي كند.
5.فايلDLL.در صورت طراحي DLL خاص خود ايجاد مي شود.
عنصر Label (برچسب )
اين عنصر براي نمايش متن غير قابل ويرايش در فرم استفاده مي شوندو ازعناصر ويژوال است. برا ي اضافه نمودن عنصر Label به فرم كافي است دو بار آن را كليك كنيد. بدين ترتيب اين عنصر در وسط فرم قرار مي گيرد.با استفاده از ماوس مي توان اين عنصر را به مكان دلخواه فرم انتقال داد. برخي از خواص عنصر Label به صورت زير مي باشد:
· خاصيت Alignment : اين خاصيت نحوه نمايسش متن در عنصر برچسب را مشخص مي كند(براي تراز كردن متن درون برچسب به كار مي رود).متن عنصر برچسب مي تواند با تنظيم خاصيت به 0-Leftjustify در سمت چپ1-Rightjustify در سمت راست و يا 2-Center در وسط برچسب قرار گيرد. در زمان اجرا مي توان مقادير 0,
1 يا 2 را در اين خاصيت قرار داد.
· خاصيت Auto size:اين خاصيت اندازه برچسب را به خود كار تعيين مي كند.به طوري كه اگر مقدار اين خاصيت برابر True باشد با تغيير طول (تعداد كاراكترهاي)كپشن, اندازه برچسب تغيير مي يابد ولي اگر مقدار اين خاصيت False باشد اندازه برچسب ثابت مي ماند.
· خاصيت WordWarp:هر گاه مقدار اين خاصيت True باشد اگر طول برچسب بيش از اندازه آن باشد در اين صورت به جاي اينكه متن (كپشن برچسب)به طور افقي گسترش يابد به خط بعدي انتقال مي يابدو گرنه متن به طور افقي در يك خط گسترش مي يابد.
· خاصيت Index :اين خاصيت مقدار انديس يك عنصر را تعيين مي كند ودر آرايه اي از عناصر به كار مي رود.زماني كه يك عنصر كليك مي گردد مقدار اين خاصيت نيز به رويداد آن ارسال مي شود.
· خاصيت Tab Order:مقدار پيش فرض اين خاصيت False است.اين خاصيت تعيين مي كند كه تا فشردن كليدTab بعدي مكان نما در اين عنصر ثابت مي ماند.
· خاصيت LinkTimeOut :اين خاصيت مقدار دهم ثانيه را كه قبل از پايان تلاش برقراري پيوند با DDE بايد سپري شود تعيين مي كند .مقدار پيش فرض اين خاصيت 50(5 ثانيه)است.
عنصر TextBox
با استفاده از اين عنصر مي توان متن را از ورودي خواند يا در خروجي چاپ كرد.به عنوان مثال هنگامي كه مي خواهيد اطلاعاتي راجع به نام,آدرس و ساير اطلاعات را از كاربران دريافت كنيد مي توانيد از عنصر TextBox استفاده نماييد.بعضي از خواص اين عنصر عبارتنداز:
· خاصيت MaxLengh :اين خاصيت حداكثر طول متني را تعيين مي كند كه كاربر مي تواند وارد نمايد.مقدار پيش فرض اين خاصيت صفر است.در اين صورت حد اكثر طول توسط سيستم عامل تعيين مي گردد.به عنوان مثال اگر مقدار 30درا در خاصيت MaxLength قرار دهيم و كاربر سعي كند بيشتر از 30 كاراكتر وارد كند بوقي توليد مي شود.
· خاصيتText :مقدار اين خاصيت متن داخل عنصر را مشخص مي كند.مقدار پيش فرض اين خاصيت نام عنصر مي باشد . در ابتدا مي توان مقدار اين خاصيت را حذف نمو د.براي حذف محتويات اين خاصيت در زمان اجرا به صورت زير عمل مي شود:
Text نام عنصر . Text" "
· خاصيت PassWordChar :در صورتي كه مقدار اين خاصيت غير از كاراكتر 0=/
باشد كاراكترهاي وارد شده توسط كاربرپنهان مي گردد و همان كاراكتري را كه در خاصيت PassWord Char قرار دارد به جاي كاراكترتايپ شده نمايش مي دهد.به عنوان مثال اگر در قسمتPassWordChar كاراكتر *وارد شود در هنگام تايپ هر كاراكتر كاراكتر * را نمايش مي دهد. مقدار پيش فرض اين خاصيت 0 =/ است. در اين صورت كاراكترهاي تايپ شده توسط كاربر را نمايش مي دهد.
· خاصيتLocked :اين خاصيت تعيين مي كند كه آيا متن داخل عنصر TextBox قابل ويرايش باشد يا خير .اگر مقدار اين خاصيت به True تنظيم شود متن عنصر TextBox فقط خواندني است (غير قابل ويرايش است)در اين صوذت متن توسط كاربر قابل تغيير نيست و عنصر TextBox مانند يك عنصر Label عمل مي كند.
· خاصيت MultiLine :اين خاصيت تعيين مي كندآيا عنصر TextBox مي تواند بيش از يك سطر را در خود نگهداري كند يا خير .اگر مقدار اين خاصيت True باشد اين عنصر مي تواند متن چند خطي را دريافت كند وگرنه عنصر TextBox حداكثر مي تواند يك خط از اطلاعات را دريافت يا نگهداري كند.
· خاصيت TabIndex :اين خاصيت تعيين مي كند كه با چند بار فشردن كليد Tab مكان نما به اين عنصر انتقال مي يابد. مقدار پيش فرض اين خاصيت برابر است با تعداد عناصري كه بر روي فرم وجود دارندو داراي خاصيت TabIndex مي باشند .به عنوان مثال اگر بر روي فرمي ده عنصر وجود داشته باشد كه شش عنصر آن داراي خاصيت TabIndex باشند با افزودن عنصري به فرم كه داراي خاصيت TabIndex باشد در اين صورت مقدار پيش فرض اين خاصيت 7 انتخاب مي شودچون با اضافه كردن هر عنصر حاوي خاصيت TabIndex يك واحد به مقدار پيش فرض اين خاصيت اضافه مي شود (براي اولين عنصرمقدار پيش فرض خاصيت TabIndex برابر با صفراست كه اين مقدار را مي توان تغيير داد).
· خاصيت ScrollBars :با استفاده از اين خاصيت مي توان تعيين كردكه آيا عنصر TextBox داراي نوارهاي جابجايي(ScrollBars) است يا خير.مقدار پيش فرض اين خاصيت 0-None است. در اين صورت هيچ نوار جابجايي ظاهر نمي شود ولي اگر مقدار خاصيت را به 1-HorizontaL تغيير دهيم فقط نوار جابجايي افقي را در عنصر خواهيم داشت.اگر مقدار اين خاصيت را به مقدار 2-Vertical تنظيم كنيم فقط نوار جابجايي عمودي در عنصر ظاهر مي گرددو مقدار 3-Bothبراي نمايش نوارهاي افقي و عمودي دز عنصر به كار مي رود.براي اينكه نوار جابجايي عمودي را در عنصر داشته باشيم حتما بايد خاصيت MultiLine برابر با True باشد.در صورتي كه خاصيت MultiLine ,False باشد نوار جابجايي عمودي نمايش داده نمي شود.
رويدادهاي عنصر TextBox
بعد از بررسي خواص عنصر TextBox به رويدادهاي آن مي پردازيم.برخي از رويدادهاي عنصر TextBox كه قبلا بحث نشده به صورت زير است:
· رويدادChange :زماني كه متن داخل عنصر TextBox تغيير مي يابد اين رويداد فراخواني مي شود (با تايپ هر كاراكتر اين رويداد اتفاق مي افتد).نكته اي كه بايد در اينجا دقت شود اين است كه اگر در روال اين رويداد دستوراتي نوشته شود و باعث تغيير متن اين عنصر شود برنامه مكررا به اين رويداد پاسخ مي دهد و برنامه در داخل يك حلقه بي نهايت گير مي كند.براي قطع برنامه اي كه در حلقه بي نهايت قرار گرفتكليدCtrl+Break را فشار دهيد.
عنصر CommandButt0n
در ويندوز چند نوع دكمه وجود دارد .يكي از آنها دكمه هاي فرمان مي باشد.كاربر با كليك كردن ماوس روي اين كليدها مي تواند دستورات مربوط به رويداد Click اين دكمه را اجرا كند.اين عنصر از عناصر ويژوال است.برخي از خواص عنصر CommandButton در زير آورده شده است:
خاصيت Cancel :اين خاصيت تعيين مي كند در صورتي كه كاربر كليدEsc را روي دكمه فشار دهد رويدادي رخ دهد يا خير.اگر مقدار اين خاصيت True باشد در صورتي كه كاربر كليدEsc را فشار دهدرويدادClick مربوط به دكمه اجرا مي شود.مقدار پيش فرض اين خاصيت False است يعني اگر كاربر كليد Esc را فشار دهد رويداد Click آن فراخواني نمي شود.
خاصيتDefault :اين خاصيت تعيين مي كند آيا دكمه اي به عنوان دكمه پيش فرض باشد يا خير.اگر خاصيت Default عنصري True باشد اين عنصر به عنوان عنصر پيش فرض تعريف مي شود.هر گاه كاربركليد Enter يا دكمه سمت چپ ماوس را فشار دهد رويداد كليك(Click) مربوط به دكمه اي كه به عنوان دكمه پيش فرض تعريف شد اجرا مي شود.
خاصيتDisablePicture :اين خاصيت مشخص كننده تصويري گرافيكي است كه به جاي كپشن بر روي عنصر نمايش داده مي شود.در اين خاصيت نام فايل گرافيكي تصوير قرار مي گيرد. براي استفاده از تصوير بر روي اين عنصر بايد خاصيت Style اين عنصر را به مقدار 1-Graphica تنظيم كنيد.
خاصيتStyle :اين خاصيت تعيين مي كند كه در خاصيت كپشن عنصر متن قرار گيرد يا تصوير اگر مقدار اين خاصيت 0-Standard باشددر خاصيت كپشن عنصر متني نمايش داده مي شود ولي اگر مقدار اين خاصيت را به مقدار 1-Graphical تنظيم كنيد در خاصيت كپشن عنصر مي توان يك تصوير را قرار داد.
در پايان برنامه اي كه ماشين حساب سادهاي را طراحي مي كند توضيح مي دهيم.
اين ماشين حساب داراي چهار حافظه مي باشد.
مراحل طراحي و اجراي برنامه:
1.پروژه جديدي ايجادكنيد.
2.يك عنصر TextBox به فرم اضافه كنيدو 25 دكمه به فرم اضافه كرده كپشن آنها را مطابق فرم برنامه تغيير دهيد.
3.ناحيه خالي فرم را دو بار كليك كرده دستورات رويداد FormLoad() را به صورت زير تايپ كنيد:
Form1.Caption="calculator”
Text1.Text=" "
Num1=0
Num2=0
Op=" "
Text1.Locked=True
4.دكمه1 رادو بار كليك كرده دستورText1.Text=Text1.Text+1 را در رويداد آن تايپ كنيد.
5.دكمه 2 را دو بار كليك كرده دستورText1.Text=Text.Text+2 را در رويداد آن تايپ كنيد.
6.دكمه 3 را دوبار كليك كرده دستورText1.Text=Text1.Text+3 را در رويداد آن تايپ كنيد.
7. دكمه 4 را دو بار كليك كرده دستور Text1.Text=Text1.Text+4 را در رويداد آن تايپ كنيد.
8.دكمه 5 را دو بار كليك كرده دستور Text1.Text=Text1.Text+5 را در رويداد آن تايپ كنيد.
9.دكمه 6 را دو بار كليك كرده دستور Text1.Text=Text1.Text+6 را در رويداد آن تايپ كنيد.
10.دكمه 7 را دو بار كليك كرده دستور Text1.Text=Text1.Text+7 را در رويدادآن تايپ كنيد.
11.دكمه 8 را دو بار كليك كرده دستور Text1.Text=Text1.Text+8 را در رويداد آن تايپ كنيد.
12. دكمه 9 را دو بار كليك كرده دستور Text1.Text=Text1.Text+9 را در رويداد آن تايپ كنيد.
13. دكمه 0را دو بار كليك كرده دستورText1.Text=Text1.Text+0را در رويدادآن تايپ كنيد.
14. دستور +را دو بار كليك كرده دستورات زير را در رويدادآن تايپ كنيد:
Num1=val(Text1.Text)
Op=”+”
Text1.Text=” ”
15.دكمه –را دو بار كليك كرده دستورات زير را در رويداد آن تايپ كنيد:
Num1=val(Text1.Text)
Op=”-”
Text1.Text=” ”
16. دكمه * را دو بار كليك كرده دستورات زير را در رويداد آن تايپ كنيد:
num1=val(Text1.Text)
op=”*”
Text1.Text=”’”
17.دكمه /را دو بار كليك كرده دستورات زير را در رويداد آن تايپ كنيد:
Num1=val(Text1.Text)
Op=”/”
Text1.Text=” ”
18. دكمه Cle را دو بار كليك كرده دستورات زير را در رويداد آن تايپ كنيد:
num1=0
num2=0
Text1.Text=” ”
19.دكمه M1 را دو بار كليك كرده دستور Mem1=Val(Text1.Text)را در رويداد أن تايپ كنيد.
20.دكمه M2 را دو بار كليك كرده دستور Mem2=Val(Text1.Text) را در رويدا آن تايپ كنيد.
21. دكمه M3 را دو بار كليك كرده دستور Mem3=Val(Text1.Text) را در رويداد آن تايپ كنيد.
22. دكمه M4 را دو بار كليك كرده دستور Mem 4=Val(Text1.Text) را در رويدا د آن تايپ كنيد.
23.دكمه C1 را دو بار كليك كرده دستور Text1.Text=Str(Mem1) را در رويداد آن تايپ كنيد.
24.دكمه C2 را دو بار كليك كرده دستور Text1.Text=Str(Mem2) را در رويداد آن تايپ كنيد.
25. دكمه C3 را دو بار كليك كرده دستور Text1.Text=Str(Mem3) را در رويدادآن تايپ كنيد.
26.دكمه C4 را دو بار كليك كرده دستور Text1.Text=Str(Mem4)را در رويدادآن تايپ كنيد.
27.دكمه =را دو بار كليك كرده دستور ات زير را در رويدادآن تايپ كنيد:
Num2=val(Text1.Text)
Select Case op
Case”+”
result=num1+num2
Case”-”
result=num1-num2
Case”*”
result=num1*num2
Case”/”
result=num1/num2
End Select
Text1.Text=Str(result)
Op=””
28.دكمه Exitرا دو بار كليك كرده دستور End را در رويدادآن تايپ كنيد.
29. متغيرهاي مورد نياز برنامه را در بخش Generalبه صورت زير تايپ كنيد :
Dim mem1 As Long
Dim mem2 As Long
Dim mem3 As Long
Dim mem4 As Long
Dim num1 As Long
Dim num2 As Long
Dim result As Long
Dim op As String
30. برنامه را اجرا كنيد.