انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

انجام پایان نامه|پايان نامه کاردانی کامپیوتر 50 ص


چارچوب .NET











چارچوب .NET  

چارچوب .NET  چيست ؟

چارچوب .NET  چگونه كار مي كند وچه چيزي باعث شده است كه به يك فريم ورك پر طرفدار تبديل شود ؟

با زبان C#  چه برنامه هايي را مي توان نوشت ؟

چارچوب .NET  چيست ؟

درتعريف .NET مي توانيم بگوييم كه : " چارچوب .NET يك پلتفرم جديد است كه توسط مايكروسافت براي

طراحي و توسعه نرم افزار  ايجاد شده است ."

نكته جالبي كه در اين تعريف وجود دارد ابهام زيادي است كه در اين تعريف به كار برده ام اما براي اين كار دليل

خوبي وجود دارد . براي شروع، توجه كنيد كه در اين تعريف نگفته ام " طراحي و توسعه نرم افزار براي سيستم

عامل ويندوز . " اگر چه مايكروسافت چارچوب .NET را براي اجرا روي سيستم عامل  ويندوز منتشر كرده است

، به زودي نسخه هاي ديگري از اين چارچوب را مشاهده خواهيد كرد كه بر روي سيستم عامل هاي ويندوز منتشر

كرده است ، به زودي نسخه هاي ديگري  از اين  چارچوب را مشاهده خواهيد كرد كه بر روي سيستم عامل هاي

ديگر مانند لينوكس نيز اجرا مي شوند . يكي  از اين نسخه ها مونو است. مونو  يك نسخه متن باز  از  چارچوب

 .NET است

(كه شامل كامپايلر  C# نيز هست) كه براي سيستم عامل هاي گوناگوني مانند نسخه هاي مختلف لينوكس و

مكينتاش منتشر شده است به علاوه ميتوانيد با استفاده از نسخه فشرده اين چارچوب به نام

Microsoft .NET Compact Framework  كه زير مجموعه اي از چارچوب .NET است . اگر به تعريفي

كه در بالا براي چارچوب .NET آورده شده است مشاهده مي كنيد كه اين تعريف محدود به نوع خاصي از برنامه

ها نيست . در حقيقت در مورد نوع برنامه هايي كه مي توان با  .NET نوشت هيچ محدوديتي وجود ندارد كه

بخواهيم آنرا ذكر كنيم از چارچوب .NET مي توانيد براي طراحي برنامه هاي تحت ويندوز برنامه هاي تحت وب ،

سرويسهاي مبتني بر وب و ... استفاده كنيد .

چارچوب .NET يك چارچوب كلي است و محدود به زبان برنامه نويسي خاصي نيست. شما ميتوانيد برنامه

خودتان را به هر زباني كه بخواهيد بنويسيد

چارچوب .NET از چه اجزايي تشكيل شده است ؟

يكي از اجزاي اصلي چارچوب .NET كتابخانه كلاس عظيم آن است كه مي توانيد از آن در برنامه هاي خود

استفاده كنيد كتابخانه كلاس يك مجموعه از توابع وكلاسها است كه براي انجام امور مختلف مورد استفاده قرار

مي گيرد . براي مثال يك كتابخانه كلاس ، شامل توابعي براي كنترل ورودي و خروجي ، استفاده از امكانات چاپ ،

كار با انواع مختلف شبكه و ... است . اين توابع وكلاسها كه با استفاده از تكنيكهاي برنامه نويسي شئ گرا نوشته

شده اند ، در  .NET به گروهها يا فضاي نامهاي مختلفي دسته بندي مي شوند .

در نوشتن يك برنامه  مي توانيد هر كدام از فضاي نامها را كه نياز داشتيد به برنامه اضافه كنيد براي مثال يكي از

اين فضاي نامها براي برنامه نويسي تحت ويندوز بكار مي رود ،يكي ديگر براي برنامه نويسي شبكه مورد استفاده

قرار مي گيرد فضاي نام ديگري براي برنامه نويسي تحت وب به كار مي رود . بعضي از اين فضاي نامها خود به

فضاي نامهاي كوچكتري تقسيم مي شوند كه براي كار برد خاصي در آن قسمت استفاده مي شود. براي مثال  

فضاي نام برنامه نويسي تحت وب شامل يك فضاي نام كوچكتر است كه براي نوشتن سرويسهاي تحت وب بكار

مي رود .

بايد توجه داشته باشيد كه تمام سيستم عامل ها،همه توابع موجود در اين فضاي نامها را پشتيباني نمي كنند.

براي مثال يك دستيار  ديجيتال  شخصي  از توابع اصلي چارچوب .NET پشتيباني مي كند ، اما يك سري از

توابع كه در اين  وسايل  كاربردي  ندارند به وسيله آنها پشتيباني نمي شود .

بخش ديگري از چارچوب .NET يك سري نوع هاي داده هاي ابتدايي را تعريف مي كند . نوع هاي داده اي براي

نگهداري اطلاعات يك برنامه در طول اجراي آن مورد استفاده قرار مي گيرند.نوع هاي داده هاي كه در اين قسمت

از .NET تعريف مي شوند به صورت بسيار پايه اي هستند (مانند "عدد صحيح علامتدار 32 بيتي ") . نوع هاي

داده اي پيشرفته تري كه در زبانهاي برنامه نويسي مبتني .NET مانند C#  و يا ويژوال بيسيك وجود دارند بايد

بر اساس يكي از اين نوع هاي داده اي تعريف شده در اين قسمت از چارچوب .NET باشند . اين مورد باعث

هماهنگي بين زبانهاي برنامه نويسي مي شود كه از چارچوب .NET استفاده مي كنند . اين قسمت از چارچوب

 .NET ، سيستم نوع داده اي عمومي و يا به اختصار CTS  ناميده مي شود .

علاوه بر كتابخانه كلاسي  كه ذكر شد چارچوب .NET شامل بخشي به نام زبان عمومي زمان اجرا و يا به اختصار

 CLR  است.اين بخش از چارچوب .NET (كه مهمترين بخش آن نيز محسوب مي شود)مسئول كنترل ومديريت

اجراي تمام برنامه هايي است كه با استفاده از كتابخانه كلاس نوشته شده اند .
   
JIT , MSIL  :

هنگامي كه برنامه اي كه در آن از توابع موجود در كتابخانه كلاس .NET استفاده شده است را كامپايل مي كنيد ،

بلافاصله كد قابل فهم براي سيستم عامل و يا كد محلي توليد نمي شود . در عوض كد شما به زباني به نام زبان

سطح مياني مايكروسافت و يا به اختصار MSIL تبديل مي شود . اين كد براي سيستم عامل خاصي نيست و

همچنين منحصر به زبان C#  نيز نيست . به عبارت ديگر كد زبانهاي ديگر نيز مي تواند به MSIL تبديل شود .

كدهاي زبانهاي ديگر كه از چارچوب .NET استفاده مي كنند نيز (مانند ويژوال بيسيك)هنگام كامپايل ابتدا به

زبان MSILتبديل مي شوند . هنگام استفاده از ويژوال استوديو براي نوشتن برنامه ، اين مرحله از كامپايل توسط

ويژوال استوديو انجام مي شود.

اما براي اجراي يك برنامه توسط سيستم عامل يك مرحله ديگر نيز مورد نياز است . اين مرحله وظيفه كامپايلر

 Just – in – Time  يا به اختصار JIT  كامپايلر است . اين كامپايلر كد MSIL يك برنامه را دريافت كرده  و

آن را به كدي تبديل مي كند كه بوسيله سيستم عامل قابل اجرا باشد . بعد از اينكه تبديل توسط JIT  انجام شد

سيستم عامل مي تواند برنامه را اجرا كند .همانطور كه از اسم اين قسمت نيز مشخص است (Just – in –

 Time)كدهاي زبان MSIL فقط هنگامي به زبان محلي قابل فهم براي سيستم عامل تبديل مي شوند كه

بخواهند اجرا شوند.

در گذشته براي اينكه بتوانيد برنامه خود را بر روي سيستم عامل هاي مختلف اجرا كنيد نياز داشتيد كه براي

هر يك از نسخه هاي سيستم عامل ، آن كد را يك مرتبه به طور كامل كامپايل كنيد . اما در چارچوب .NET

نيازي به اين كار نيست . زيرا براي هر نوع پردازنده و نيز هر نوع سيستم عامل يك نسخه از JIT   وجود دارد .

برنامه شما در هر سيستم عاملي كه اجرا شود  ، كامپايلر JIT  موجود در آن سيستم عامل ، كد MSIL  برنامه

شما را كه مستقل از سيستم عامل و نوع پردازنده است دريافت كرده و كد محلي مناسبي توليد مي كنند  كه براي

سيستم عامل قابل فهم باشد .

فايده استفاده از اين روش در اين است كه وظيفه برنامه نويس به شدت كاهش مي دهد . در حقيقت مي توان گفت

كه به عنوان برنامه نويس ، هنگام نوشتن كد مي توانيد سيستم عاملي كه قرار است برنامه روي آن اجرا شود را

فراموش كرده  و فكر خود را بر روي كد و منطق برنامه متمركز كنيد .

كدهاي مديريت شده :

همانطور كه گفتم برنامه ي شما هنگام كامپايل ابتدا به كد MSIL تبديل مي شود ، سپس اين كد قبل از اجرا

بوسيله JIT به كد محلي تبديل شده و كد محلي بوسيله سيستم عامل اجرا مي شود . تمام اين قسمتها بخشي از

وظايف CLR  است ، اما وظايف CLR به اين موارد ختم نمي شود . برنامه اي كه بوسيله .NET نوشته شده است

در طول زمان اجرا توسط CLR مديريت مي شود . به عبارت ديگر در طول اجراي برنامه هاي نوشته شده با

 .NET ، CLR مسئول كنترل امنيت آنها ، مديريت حافظه برنامه ها ،  كنترل بخشهاي خطا يابي   در برنامه ها و

... است . به همين دليل به برنامه هاي كه با .NET نوشته شده اند ، برنامه هاي مديريت شده مي گويند . در مقابل

 برنامه هاي تحت كنترل CLR اجرا نمي شوند به برنامه هاي مديريت نشده معروف هستند و زبانهاي مشخصي

مانند C++ مي توانند چنين برنامه هاي را توليد كنند . از كدهاي مديريت نشده بيشتر در مواقعي استفاده

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

البته با استفاده از زبان C# نمي توان كدهاي مديريت نشده توليد كرد و تمام كدهاي توليد شده به وسيله

كامپايلر  C#  تحت كنترل CLR اجرا مي شوند .

مديريت حافظه در .NET   :     

يكي از مهمترين ويژه گيهاي كدهاي مديريت شده بخش مديريت حافظه در اين نو ع كدها است كه بوسيله

سيستمي به نام Garbage  Collection  و يا به اختصار GC انجام مي شود . چارچوب .NET با استفاده از اين

سيستم مي تواند اطمينان حاصل كند كه حافظه اي كه به يك برنامه اختصاص داده مي شود ، با پايان برنامه بطور

كامل بازيابي مي شود . در زبانهاي برنامه نويسي  قبل از .NET اين مورد بوسيله  برنامه نويس كنترل مي شد و

امكان داشت كه با يك اشتباه كوچك در كد برنامه، مقدار زيادي از فضاي  غير قابل استفاده بماند و برنامه با

كمبود حافظه مواجه شود . اين گونه مشكلات باعث كاهش سرعت برنامه ها و حتي در بعضي شرايط باعث توقف

سيستم مي شد .

نحوه كار GC در .NET به اين صورت است كه  در زمانهاي مشخصي به بررسي حافظه مي پردازد و داده هايي را

كه ديگر  استفاده نمي شوند از حافظه پاك مي كند . البته بررسي حافظه توسط GC در فاصله زماني ثابت صورت

نمي گيرد بلكه ممكن است در شرايطي در هر ثانيه چندين هزار بار اجرا شود و در شرايط ديگر در هر چند ثانيه

يك بار اجرا مي شود.

مراحل اجراي برنامه در .NET   :

قبل از ادامه مراحل لازم براي ايجاد يك برنامه  با .NET را كه در قسمتهاي قبلي توضيح داده شد جمع بندي

مي كنيم :

1)    كد برنامه به وسيله يكي از زبانهاي سازگار با .NET مانند C# نوشته مي شود (شكل1-1):


 
شكل 1-1 : C#

2)اين كد به زبان MSIL كامپايل مي شود و سپس در يك فايل اسمبلي ذخيره مي شود(شكل 2-1):

 
شكل 2-1 : كامپايل و ذخيره كردن

3)هنگامي كه كد بخواهد اجرا شود (چه خود فايل اجرايي باشد و به تنهايي اجرا شود، چه يك فايل حاوي توابع

 مورد استفاده باشد و به وسيله ديگر برنامه ها احضار شود ) ابتدا بايد به وسيله يك كامپايلر ديگر به كد محلي

 تبديل شود . اين كامپايلر JIT نام دارد (شكل 3-1):


 
    شكل 3-1 : JIT

4)كد محلي توليد شده به وسيله JIT به همراه ديگر برنامه هاي در حال اجرا كه بوسيله .NET نوشته شده اند ،

تحت كنترل CLR به اجرا در مي آيد(شكل 4-1):


 
    شكل 4-1 : كد محلي توليد شده با JIT


















    


    فصل دوم




‍C# چيست ؟














‍C# چيست ؟

همانطور كه در قسمتهاي قبلي نيز ذكر شد C# يكي از زبانهاي برنامه نويسي است كه بوسيله آن مي توان

برنامه هايي با قابليت اجرا در .NET  CLR توليد كرد زبان    C# در حقيقت نسخه كامل شده ي زبانهاي برنامه

نويسي C++ , C است كه بوسيله مايكروسافت براي كار با چارچوب   .NET بوجود آمده است . با توجه به جديد

اين زبان برنامه نويسي  ، در ايجاد آن سعي شده است كه از ويژه گيهاي خوب زبان برنامه نويسي ديگر الهام

گرفته شود و نيز كاستي هاي آن زبانها برطرف شود .

ايجاد يك برنامه در محيط C# بسيار راحت تر از ايجاد يك برنامه در محيط ‍‍C++ است . علاوه بر اين سادگي ،


 C# زبان قدرتمندي نيز محسوب مي شود به نحوه ي كه اغلب كارهايي كه در C++ امكان  پذير است در C# هم

مي توان انجام داد . بعضي از ويژگيهاي C# كه هم سطح با ويژگيهاي پيشرفته در C++ هستند ، همانند قابليت

دسترسي مستقيم به حافظه و نيز تغيير آن ، باعث مي شوند كه كدهاي يك برنامه به عنوان كد نا امن در نظر

گرفته شود . استفاده از اين تكنيكهاي پيشرفته  برنامه نويسي  ، عموما خطرناك هستند زيرا ممكن است باعث

شوند قسمتهاي مهم حافظه كه اطلاعات سيستم عامل در آن قرار دارد به طور ناخواسته تغيير كند  وسيستم

متوقف شود .

بعضي مواقع كدهاي زبان C# طولاني تر از كدهاي زبان C++ هستند . علت طولاني بودن اين كدها به اين خاطر

است كه C# بر خلاف C++ يك زبان نوع-امن است . در اصطلاح اين لغت به اين معني است كه هنگامي كه نوع

داده اي يك متغير مشخص شد ، آن متغير نمي تواند به يك نوع داده اي ديگر كه به آن مرتبط نيست تبديل شود.

علاوه بر اين مورد يك سري محدوديتهاي ديگر نيز هنگام تبديل يك نوع داده اي به نوع داده اي ديگر نيز وجود

دارد كه باعث مي شود كدهاي  C# طولاني تر از كدهاي C++ شوند، اما در مقابل كدهاي C#  از پايداري بيشتري

برخوردارند و نيز خطا يابي در آنها ساده تر است .

البته C# فقط يكي از زبانهاي برنامه نويسي است كه براي طراح ي برنامه تحت .NET ايجاد شده است ، اما به

نظر من مطمئنا بهترين زبان براي اين كار است. يكي از دلايل اين امر اين است كه زبان C# از پايه براي استفاده

در محيط .NET ايجاد شده است و معمولا در پروژه هايي كه در رابطه با انتقال .NET به سيستم عامل هاي ديگر

است ، مانند Mono از اين زبان استفاده مي كنند. در زبانهاي ديگر ، مانند نسخه .NET زبان ويژوال بيسيك ،

براي  اينكه شباهت با نسلهاي  قبلي خود را حفظ كنند ، يكسري از قسمتهاي CLR پشتيباني نمي شود .  در

مقابل با استفاده از زبان C# مي توان از تمام ويژگيهاي ارائه شده به وسيله .NET در برنامه استفاده كرد .


چه نوع برنامه هايي را مي توان با استفاده از C# انجام داد ؟ ‍


همانطور كه گفتم ، در .NET هيچ  محدوديتي  براي نوع برنامه هاي قابل اجرا وجود ندارد . زبان C# نيز از

چارچوب .NET استفاده مي كند ، بنابراين هيچ محدوديتي در نوع برنامه هاي كه مي توان با اين زبان انجام داد

وجود ندارد . اما بيشتر برنامه هاي كه با C#  نوشته مي شوند جزء يكي از دسته هاي زير هستند :

برنامه هاي مبتني بر ويندوز : اين نوع برنامه ها همانند Office  برنامه هايي هستند كه داراي ظاهر آشناي                        

برنامه هاي ويندوزي هستند .اين نوع برنامه ها بوسيله فضاي نام مربوط به برنامه هاي ويندوزي در چارچوب
 
.NET نوشته مي شوند .اين فضاي نام شامل كنترلهايي از قبيل دكمه هاي فرمان ، نوار ابزار ها ، منوها و ... است

كه بوسيله آنها مي توان رابط گرافيكي برنامه را طراحي كرد.

برنامه هاي مبتني بر وب : اين نوع برنامه ها شامل يك سري صفحات وب هستند كه ممكن است تا كنون به

وسيله مرورگرهاي مختلف اينترنت آنها را مشاهده كرده باشيد . چارچوب .NET داراي يك سيستم قوي براي

ايجاد اتوماتيك صفحات وب وتامين امنيت آنها و ... است . اين سيستم .NET ASP  ناميده مي شود و شما     

مي توانيد با استفاده  از زبان C# وسيستم .NET ASP  برنامه اي مبتني بر وب ايجاد كنيد .

سرويسهاي وب : وب سرويس ها يك روش جديد و جالب براي ايجاد برنامه هاي توزيع شدني مبتني بر وب

هستند . با استفاده از وب سرويس ها مي توانيد هر نوع اطلاعاتي را از طريق اينترنت بين برنامه ها منتقل كنيد.

در اين مورد زبان مورد استفاده در برنامه و يا سيستم عاملي كه برنامه در آن اجرا مي شود اهميتي ندارد . به

عبارت ديگر برنامه ي شما كه تحت .NET و سيستم عامل ويندوز نوشته شده است ميتوانيد با برنامه هاي ديگر

كه تحت سيستم عامل هاي ديگر عمل مي كند تبادل اطلاعات داشته باشد .

در هر كدام از اين برنامه هايي كه در بالا ذكر شد ممكن است به دسترسي به يك بانك اطلاعاتي نياز پيدا كنيد

.براي اين منظور در .NET بايد از سيستمي به نام .NET  ADO   استفاده كنيد .































فصل سوم




آشنايي با شئ گرايي














ساختن اشيا :

از زماني كه با كامپيوتر آشنا شديد تا كنون ممكن است واژه شئ گرايي را زياد شنيده باشيد . ممكن است شنيده

باشيد كه اين مبحث ، يكي از مباحث سخت و غير قابل درك برنامه نويسي است . در سالهاي اول كه اين نوع

برنامه نويسي بوجود آمده بود اين گفته صحت داشت ، اما زبانها و ابزارهاي مدرن امروزي باعث شده اند

برنامه نويسي شئ گرا به مبحثي بسيار ساده تبديل شود . برنامه نويسي شئ گرا منافع زيادي را براي توسعه گران

نرم افزاري دارد ، به همين دليل زبانهاي برنامه نويسي مانند C# , C++ و ويژوال بيسيك و ... سعي كرده اند به

نحوي رشد كنند كه به سادگي بتوان بوسيله آنها برنامه هاي شئ گرا را طراحي و پياده سازي كرد .


مفهوم اشيا :

يك شئ در دنياي واقعي اغلب هر چيزي است كه بتوانيد تصور كنيد . معمولا در تمام طول روز در حال كار كردن

با اشياي فيزيكي مانند تلويزيونها ، اتومبيلها ، مشتركين ، گزارشات ، لامپ ها و يا هر چيز ديگري هستيد . در

كامپيوتر ها نيز يك شئ مشخص كننده هر چيزي است كه در كامپيوتر مي بينيد و يا در برنامه ها يتان از آن

استفاده مي كنيد . براي مثال فرم برنامه ، دكمه هاي نوار ابزار ، گزينه هاي موجود در منوها و ... همه نمونه هايي از

اشيا در كامپيوتر هستند . اشياي ديگر نيز در كامپيوتر وجود دارند كه نمود ظاهري ندارند اما در بخشهاي مختلف

برنامه بكار مي روند مانند شئ براي كنترل كاربران يك برنامه كاربر برنامه چنين شئ را در برنامه نمي بيند اما در

طول اجراي برنامه اين شئ وجود دارد و وظايف خود را انجام مي دهد .   

  كپسولي بودن :

مفهوم اصلي كه در پشت شئ گرايي قرار دارد كپسولي بودن است . اين مفهوم با وجود ساده بودن ، از اهميت

زيادي برخوردار است . ايده كلي كه كپسولي بودن ارائه مي دهد به اين صورت است كه رفتار يك شئ تا حد

ممكن بايد دور از ديد كاربر باشد . به عبارت ديگر تا زماني كه لازم نباشد ، كاربر نبايد متوجه شود كه يك شئ

چگونه درخواستهاي او را انجام مي دهد.

متدها وخاصيت ها :

براي ارتباط با يك شئ از متدها و خاصيتهاي آن استفاده مي كنند . در تعريف آنها مي توانيم بگوييم :

    متدها : روشهايي هستند كه بوسيله آن مي توان به يك شئ گفت چگونه وظيفه خاصي را انجام دهد.

    خاصيت ها : اعضايي از يك شئ هستند كه ويژگي آن را شرح مي دهند .

تعريف كامل متد كه فقط در برنامه نويسي شئ گرا صادق است ، عبارت است از كدهايي كه به يك شئ مي گويند

چگونه وظيفه مشخصي را انجام دهد .

بنابراين براي روشن كردن يك تلويزيون بايد متدي را پيدا كنيد كه اين كار را انجام دهد ، زيرا همانطور كه گفتيم

اين متد ها هستند كه به يك شئ مي گويند چگونه يك وظيفه مشخص را انجام دهند . هنگامي كه متد مربوط به

اين كار را فراخواني مي كنيد ، فرض مي كنيد كه شئ به واسطه اين متدها مي داند كه چگونه درخواست شما ار

انجام دهد .

خاصيت ها نيز براي تنظيم حالتها و ويژگيهاي يك شئ به كار مي روند . در اين مورد نيز وظيفه شئ است كه با

توجه به حالتي كه براي آن تعريف شده است عمل كند . براي مثال هنگامي كه بخواهيد كانال يك تلويزيون را از

 4 به 3 تغيير دهيد كافي است كه مقدار خاصيت مربوط به كانال را برابر با 3 قرار دهيد و تلويزيون بايد با توجه به

مقدار اين خاصيت تصوير را در صفحه نمايش دهد .
 








فصل چهارم




توضيحات دستورات
 و مفاهيم پايه  







درك ويژگي يك منو :    

كنترل كه در ويژوال استوديو 2005 براي ايجاد منو در برنامه مورد استفاده قرار مي گيرد ، MenuStrip نام دارد .

اين كنترل داراي چندين  ويژگي  كليدي است . اولين و مهمترين  ويژگي اين است كه بوسيله آن مي توانيد به

سرعت و به راحتي منوها و زير منوهاي مورد نياز در برنامه را ايجاد كنيد .

منوهايي كه بوسيله كنترل ايجاد مي كنيد علاوه بر متني كه براي هر منو نمايش مي دهد،مي توانند شامل تصوير ،

كليد دسترسي ، شورت كات و يا حتي به صورت گزينه ي قابل انتخاب باشند .

ايجاد منوها :

1) ويژوال استوديو را اجرا كرده و گزينه    File -> New -> Project… را از نوار منو انتخاب كنيد.

در كادر New Project  گزينه  Windows Application  را ازقسمت  Templates  انتخاب كرده و در كادر

 Name گزينه Menus  را انتخاب كنيد . روي دكمه OK   كليك كنيد تا پروژه جديد ايجاد شود .

2)  با استفاده از جعبه  ابزار ، يك كنترل   MenuStrip را در فرم برنامه قرار دهيد . اين كنترل به طور اتوماتيك  

در بالاي فرم قرار خواهد گرفت  .  علاوه بر كنترلي كه در بالاي فرم قرار داده مي شود ،

3)‌ در قسمت پايين طراحي روي كنترل  menustrip1  كليك راست كنيد و از منوي فرعي باز شده گزينه

 Insert Standard Items  را انتخاب كنيد تا گزينه هاي يك منوي استاندارد در نوار منوي بالاي فرم قرار

بگيرد .

4)  همانطور  كه در شكل 1-4    مشاهده مي كنيد، يك قسمت سفيد رنگ در سمت راست منوي Help   وجود

دارد كه به وسيله آن مي توانيد منوهاي جديد را ايجاد كنيد . براي ايجاد منوي جديد علاوه بر استفاده از اين

قسمت، مي توانيد از پنجره Items  Collection  Editor    نيز استفاده كنيد .


 
شكل 1-4 : ساختار اصلي    

نوار منوي  بالاي  صفحه را انتخاب كرده و سپس در پنجره  Properties   روي دكمه ... در مقابل گزينه Items   

كليك كنيد به اين ترتيب كادر Items Collection  Editor   نمايش داده مي شود . در اين كادر روي دكمه

فرمان ADD  كليك كنيد تا يك منوي جديد به نوار منو اضافه شود .

نوشتن كد براي منوها :

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

عملكرد منو ها را مي نويسيم . بعد از اتمام آن كد مربوط به بعضي از دكمه هاي موجود در نوار ابزار Main  را

كامل مي كنيم .

نوشتن كد منوي File:

1)    به قسمت طراحي فرم رفته و با استفاده از نوار منو ، گزينه New  را از منوي File  انتخاب كنيد. سپس

به پنجره  Propeties برويد و روي آيكون Events كليك كنيد تا رويدادهاي اين گزينه از منو نمايش داده

شوند . از ليست رويدادها ، رويداد كليك را انتخاب كرده و روي آن دوبار كليك كنيد تا متد مربوط به آن

ايجاد شود . سپس كد مشخص شده را  به اين متد اضافه كنيد .

2) عملكرد دكمه New  در نوار ابزار Main  نيز مشابه عملكرد اين گزينه از نوار منو است . براي نوشتن كد

مربوط به اين دكمه ، به قسمت طراحي رفته و دكمه New  را از نوار ابزار انتخاب كنيد . سپس از ليست

رويدادهاي اين كنترل در پنجره Properties    رويدادها كليك را انتخاب كرده  و روي آن دوباركليك كنيد

تا متد مربوط به آن ايجاد شود . به علت مشابه بودن عملكرد اين متد با متد مربوط به رويداد كليك گزينه

 New در منوي File  ، در اين قسمت كافي است كد زير را به متد اضافه كنيد .


 
شكل 2-4 : منوي File

كنترل OpenFileDialog   :

تقریباً در نوشتن بيشتر برنامه هاي ويندوزي شرايطي وجود دارد كه بخواهيد داده هايي را در فايل نوشته و يا

از آن بخوانيد ، پس به كنترلي نياز داريد تا به وسيله آن بتوانيد فايلي را باز كنيد و يا داده هايي را در يك

فايل ذخيره كنيد . در چارچوب .NET   دو كنترل براي اين موارد در نظر گرفته شده است :

 SaveFileDialog , OpenFileDialog  در اين بخش به بررسي كنترل  OpenFileDialog مي پردازيم

و در بخش بعد نيز  كنترل SaveFileDialog  را بررسي خواهيم كرد .

 براي دسترسي به اين كنترل در جعبه ابزار ، بايد به بخش Dialog آن مراجعه كنيد وبا استفاده از ماوس اين

كنترل را بر روي فرم قرار دهيد . بعد از آن تنها كار ي كه بايد انجام دهيد ، اين است كه خاصيتهاي مورد

نظرتان به وسيله پنجره Propertis  تنظيم كرده و سپس متد مربوط به نمايش آن را فراخواني كنيد .

براي نمايش پنجره Open  كافي است متد ShowDialog آن را فراخواني كنيد به اين ترتيب پنجره اي

مشابه شكل  3-4 نمايش داده خواهد شد.

 
شكل 3-4 : Open

به قسمت ويرايشگر كد برويد و در ابتداي كلاس مربوط به فرم ، يك متغير رشته اي تعريف كنيد تا نام فايل

در آن ذخيره شود . در قسمتهاي بعدي برنامه ، نام فايلي كه بوسيله كادر Open  برگشته شود را در اين

متغير ذخيره خواهيم كرد :

public partial class Dialogs : Form
{
// Declare variables
Private string strFileName;

كنترل SaveFileDialog:

متدهاي كنترل SaveFileDialog   همانند متدهاي OpenFileDialog هستند براي مطالعه

متدهاي كنترل OpenFileDialog از تابع  ShowDialog   براي نمايش كادر Save   استفاده مي كنيم .

براي بررسي نحوه كاركرد  كنترل SaveFileDialog   پنجره Save File  را به كاربر نمايش داده و به او

 اجازه مي دهيم  تا مكاني را براي ذخيره محتويات TextBox مشخص كند . سپس محتويات داخل آن را

 در فايلي در مسير مشخص شده توسط كاربر ذخيره مي كنيم .
كنترل  Print Dialog :

هر برنامه اي معمولا در قسمتي نياز به امكان چاپ دارد . اين نياز مي تواند به صورت نياز به چاپ ساده يك

متن و يا موارد پيشرفته تري مانند چاپ قسمتي از متن و يا صفحات مشخصي از آن باشد .

يكي از كنترل هايي كه در ويژوال C# براي چاپ بكار مي رود ،كنترل PrintDialog  است اين كنترل كار

چاپ را انجام نمي دهد ،بلكه به كاربر اجازه مي دهد كه چاپگري را براي چاپ انتخاب كرده و تنظيمات قبل از

چاپ را در آن چاپگر انجام مي دهد. همانند تمام كادرهايي كه در بخشهاي قبل ديديم  كادر Print نيز داراي

دو دكمه Cancel , OK  است .

بنابراين تابع  ShowDialog  مربوط به اين كادر هم مقدار DialogResault . OK و يا DialogResult.


 Cancel را برمي گرداند و مي توانيد از دستور if براي بررسي نتيجه برگشت داده شده توسط كادر استفاده

كنيد .

 
شكل 4-4 : كادر Print

براي نمايش كادر Print كافي است كه تابع ShowDialog  آن را فراخواني كنيد ، به اين صورت كادر

 Print همانند شكل 5-4 نشان داده خواهد شد . همانطور كه بيشتر نيز گفتيم كنترل PrintDialog

فقط كادري را براي تنظيمات چاپ نمايش مي دهد و هيچ متني را نمي تواند چاپ كند . قطعه كد زير براي

»


انجام پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

سفارش پایان نامه

نقشه