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

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

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

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

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

حضرت محمد (ص) : طلب دانش بر هر مسلمانى واجب است. خداوند جويندگان دانش را دوست دارد.

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


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

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

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

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


چگونه كار مي كند؟

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

همانطور كه مشاهده مي كنيـد اين متد را با تعريف يك شيئ از كلاس PrintDocument آغاز كرديم .

عمل اصلي چاپ به وسيله اين شيئ صـورت مـي گيرد :

سپس خاصيت DocumentName مربوط به اين شيئ را تنظيم كرديم .

اگر همزمان چند برنامـه بخواهنـد از چـاپگر اسـتفاده كنند،

سندهاي آنها در يك صف چاپ قرار مي گيرد .

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

در قسمت بعد، به تنظيم بعضي از خاصيتهاي كنترل PrintDialog مي پردازيم .

در اين بخش فقط مي خواهيم يك عمـل چاپ ساده را انجام دهيم،

بهتـر اسـت قـسمتهاي Print to file و همچنـين Selection و Pages را در كادر Print غير فعال كنيم.

براي اين كار كافي است خاصيتهاي مربـوط بـه آنهـا را برابـر بـا false قـرار دهيم

قبل از نمايش كادر Print بايد مشخص كنيد تنظيماتي كه كاربر در اين كادر مشخص مي كند، براي چاپ چه سندي به كار مي روند.

براي اين كار بايد خاصيت Document كنترل PrintDialog را برابر بـا شـيئ PrintDocument اي قرار دهيد كه نشان دهنده ي سند مورد نظر است.

حال مي توانيم كادر Print را نمايش دهيم .

همانند كادرهاي قبلي، براي اين كار كافي است متد ShowDialog مربـوط به اين كنترل را فراخواني كنيم .

اين متد نيز مقداري را از نوع DialogResult برمي گرداند.

اگر كاربر در كـادر روي دكمـه ي Print كليـك كنـد،  تـابع OK.DialogResult

و اگـر كـاربر روي دكمـه ي Cancel كليـك كنـد، تـابع Cancel.DialogResult را برمي گرداند.

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

اگر كاربر در كادر روي دكمه Print كليك كند بايد محتويات فايلي كه آدرس آن در متغير strFileName قـرار دارد را چاپ كنيم.

بنابراين ابتدا يك شيئ از نوع StreamReader تعريف مي كنيم .

اين شيئ براي دسترسـي بـه محتويـات يـك فايل مورد استفاده قرار مي گيرد

و هنگام تعريف آن بايد آدرس فايل مورد نظر را به آن بفرستيم.

پس متغيير strFileName كه حاوي آدرس فايل است را به عنوان پارامتر به اين شيئ ارسال مي كنيم .

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

به همين علت شيئ را از نوع Font تعريف كرده و فونـت Arial و اندازه ۱۰ را براي آن تعريف مي كنيم.

هنگامي كه يك رويداد به وسيله يك كلاس رخ مي دهد،

تعدادي از توابع براي پاسـخ دادن به آن رويداد اجرا مي شوند .

براي مثال مشاهده كرديد با دو بار كليك بر روي يك كنتـرل Button در زمـان طراحي، متدي ايجاد مي شد

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

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

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

براي مثال مي توانيد چندين متد تعريف كنيد و آنها را به رويداد كليك يك Button اضافه كنيد.

به اين ترتيب هنگامي كه بر روي آن دكمه كليك شود  تمام متدهايي كه بـه آن اضـافه كرده ايد اجرا خواهند شد .

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

دقيق تر بايد بگوييم كه اين كلاس در هر مرحله تمام توابعي كه در ليست رويــداد PrintPage هــستند را اجــرا مــي كنــد.

پــس بايــد متــدي را ايجــاد كنــيم و آن را بــه ليــست متــدهاي رويــداد PrintPage اضافه كنـيم .

بـراي ايـن كـار متـد prtPage را ايجـاد كـرده و آن را بـه وسـيله دسـتور زيـر بـه رويـداد  PrintPage1 اضافه مي كنيم.

پایات قسمت هشتاد و نهم

به نودمین قسمت بروید

کانال آپارات وبسایت لندلرن


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

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

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

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

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

soroush کانال سروش

کانال آی گپ