تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 44 +

تعداد کل مطالب : 338 +

تعداد نظرات : 33 +

حضرت علی (ع) : علم گنج بزرگی است که با خرج کردن تمام نمی شود.

آموزش مقدماتی تا پیشرفته سی شارپ بخش نود و یکم


به نام خدایی که در این نزدیکی است.

آموزش مقدماتی تا پیشرفته سی شارپ بخش نود و یکم

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

قسمت نود و یکم


ادامه قسمت نودم

براي اينكه واقعاً متن را به چاپگر بفرستيم بايـد از تـابع DrawString در كـلاس Graphics اسـتفاده كنـيم.

كـلاس Graphics به صورت يكي از خاصيتهاي كـلاس PrintPageEventArgs بـه ايـن متـد فرسـتاده مـي شـود.

  • پارامترهايي كه تابع DrawString دريافت مي كند عبارتند از :
  • متني كه بايد چاپ شود
  • فونت متني كه بايد چاپ شود
  • رنـگ متني كه بايد چاپ شود (اين رنگ بايد از شمارنده ي Brushes انتخاب شود )
  • فاصله متن از سمت چپ صفحه،
  • فاصله مـتن از بالاي صفحه،
  • قالب متن براي چاپ .

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

به اين ترتيب يك خط از متن را چاپ كرده ايم، پس يك واحد به تعداد خطها اضافه مي كنيم :

حال بررسي مي كنيم كه صفحه پر شـده اسـت يـا نـه .

اگـر صـفحه پـر نـشده بـود خـط ديگـري را از فايـل خوانـده و در متغييـر strLine قرار ميدهيم تا حلقه با خط جديد ادامه پيدا كند :

بعد از اينكه يك صفحه كاملاً پر شد،

برنامه از حلقه خارج مي شود .

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

اگر متن داخل فايل تمـام شـده بـود بايـد خاصـيت HasMorePages را برابـر بـا false قرار دهيم كه تابع Print بار ديگر باعث فراخواني شدن رويداد PrintPage نشود .

اما اگر مـتن تمـام نـشده بود، كافي است كه براي چاپ ادامه ي متن، خاصيت HasMorePages را برابر با true قرار دهيم .

به ايـن ترتيـب تـابع Print بار ديگر رويداد PrintPage را فراخواني مي كند تا متد prtPage بتواند صفحه بعد را چاپ كند.

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

وظيفه متد Print تمام شده است و برنامه به ادامـه كـدهاي موجـود در متد btnPrint_Click برمي گردد.

تنها كاري كه بايد در ادامه انجام دهيم اين است كه فضاي اشـغال شـده بـه وسـيله اشياي مربوط به چاپ و نيز اشياي مربوط به خواندن از فايل را آزاد كنيم .

پایان بخش پرینت دیالوگ

كنترل FolderBrowserDialog:

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

براي مثال ممكن است بخواهيد كاربر فولدري را براي ذخيره فايلهاي پشتيبان و يا فولدري را براي ذخيـره فايلهـاي مـوقتي برنامـه مشخص كند.

در اين مواقع مي توانيد با استفاده از كنترل FolderBrowserDialog ،كـادر اسـتاندارد Browse
For Folder  را در برنامه نمايش دهيد.

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

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

همانند تمام كادرهاي ديگر، كادر FolderBrowser نيز هم مي تواند به صورت كنترل مورد استفاده قرار گيـرد و هـم بـه صورت يك كلاس.

توجه كنيد كه در قسمت پايين اين فرم يك دكمه فرمان Make New Folder وجـود دارد كـه بـه كاربر اجازه مي دهد فولدر جديدي را ايجاد كند.

خاصيتهاي كنترل FolderBrowser:

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

در جـدول زيـر ليستي از نام و نحوه استفاده از خاصيتهاي مهم اين كنترل آورده شده است .

نام خاصيت شرح
Description مشخص كننده متني است كه به عنوان توضيح در كادر نمايش داده مي شود
RootFolder مشخص كننده آدرس فولدري است كه به صورت پـيش فـرض بايـد در كـادر
نمايش داده شود .
SelectedPath مشخص كننده آدرس مسيري است كه به وسيله كاربر انتخاب شده است .
ShowNewFolderButton مـشخص مـي كنـد آيـا دكمـه ي Folder New Make در كـادر
نمايش داده شود يا نه؟

كادر محاوره ايFolderBrowser اولين كادري است كه تقريباً از تمام خاصيتهاي آن استفاده خواهيد كرد.

همانند تمام كادرهاي ديگر، اين كنترل نيز داراي متدي به نام ShowDialog است كه باعث نمايش داده شدن كادر در برنامه مي شود.

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

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


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ