فونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا ساز

لطفا از تمام مطالب دیدن فرمایید.

امتحان برنامه:

هر چه برنامه ای که می نویسید پیچیده تر می شود، تست کردن مداوم برای اطمینان از نحوه عملکرد آن نیز مهمتر می شود. در یک برنامه هرچه بیشتر خطاهای آن را پیدا کرده و تصحیح کنید، بهتر می توانید آن را پیاده سازی کنید. در نتیجه می توانید برنامه ای پایدارتر و با قابلیت اطمینان بیشتری ایجاد کنید.
برای تست کردن یک برنامه، نه تنها باید عملکرد عادی آن را بررسی کنید، بلکه باید مقدارهای مختلفی که کاربر ممکن است در برنامه وارد کند را نیز به عنوان ورودی به برنامه بفرستید و رفتار برنامه را در آن شرایط بررسی کنید. برای مثال فرض کنید در حال طراحی یک برنامه بانک اطلاعاتی هستید که اطلاعات کاربر را به وسیله یک فرم دریافت می کند و در یک جدول در بانک اطلاعاتی قرار می دهد. یک برنامه خوب و پایدار، قبل از اینکه اطلاعات کاربر را برای ذخیره شدن به بانک اطلاعاتی بفرستد، صحت نوع داده ای تمام آنها را بررسی می کند. برای مثال قبل از اینکه سن کاربر را در جدول ذخیره کند، بررسی می کند که حتما مقدار وارد شده به وسیله کاربر برای این قسمت به صورت عددی باشد و کاربر متنی را در این قسمت وارد نکرده باشد. به این ترتیب از ایجاد خطا در برنامه و توقف اجرا آن نیز می توان تا حد امکان جلوگیری کرد.

امتحان کنید: امتحان برنامه

حال که رابط کاربری برنامه را طراحی کردیم و کد بیشتر قسمتهای آن را نیز وارد کردیم، باید عملکرد آن را بررسی کنیم. برای این کار روی دکمه Start در نوارابزار کلیک کنید تا برنامه اجرا شود. هنگامی که فرم اصلی برنامه نمایش داده شد، مشابه شکل زیر فقط یکی از نوارابزارها قابل مشاهده خواهد بود.
آموزش مقدماتی سی شارپ

آموزش مقدماتی سی شارپ

از نوارمنو، منوی View را انتخاب کرده و سپس به زیرمنوی Toolbars بروید. مشاهده می کنید که در این زیرمنو دو گزینه Main و Formatting وجود دارند که درکنار گزینه اول یک علامت تیک قرار دارد. این علامت مشخص می کند که هم اکنون این نوارابزار در فرم برنامه قابل مشاهده است. روی گزینه Formatting در این قسمت کلیک کنید تا نوارابزار Formatting هم نمایش داده شود.
همانطور که مشاهده کردید با نمایش این نوارابزار، تمام کنترل ها در فرم به اندازه لازم به سمت پایین حرکت کردند. دلیل این امر در این است که یک کنترل Panel در فرم قرار داده و بعد از تنظیم خاصیت Dock آن با مقدار Fill، دو TextBox را در آن قرار دادید. با انجام این کار، موقعیت کنترل ها می تواند در صورت لزوم در فرم تغییر کند. اگر کنترل Panel را از فرم حذف کنید و کنترلهای TextBox را در خود فرم قرار دهید، مشاهده خواهید کرد که با نمایش نوارابزار Formatting، کنترل TextBox اول روی نوارابزار Main قرار خواهد گرفت نوارابزار Main قابل مشاهده نخواهد بود.
حال اگر مجددا به زیرمنوی Toolbars در منوی View بروید، مشاهده خواهید کرد که در کنار هر دو گزینه های Main و Formatting یک علامت تیک قرار گرفته است که مشخص می کند در حال حاضر هردوی این نوارابزارها در حال نمایش است.
حال عملکرد گزینه های منوی Edit را بررسی می کنیم. متنی را در کنترل TextBox اول وارد کرده و سپس گزینه Select All را از منوی Edit انتخاب کنید. مشاهده خواهید کرد که تمام متن نوشته شده در آن انتخاب خواهند شد.
حال می خواهیم متن انتخاب شده در TextBox اول را در کلیپ برد کپی کنیم. برای این کار با ماوس روی دکمه ی Copy در نوارابزار کلیک کنید و یا گزینه Copy را از منوی Edit انتخاب کنید.
مکان نما را در TextBox دوم قرار دهید و سپس روی دکمه ی Paste در نوارابزار کلیک کنید و یا از نوارمنو گزینه Edit -> Paste را انتخاب کنید. به این ترتیب متن نوشته شده در TextBox اول، همانند شکل زیر در TextBox دوم نیز قرار خواهد گرفت.

آموزش مقدماتی سی شارپ

کنترل TextBox اول را انتخاب کرده و گزینه Edit -> Undo را از نوارمنو انتخاب کنید، مشاهده خواهید کرد که تغییراتی که در این کنترل ایجاد کرده بودید لغو می شود. ممکن است انتظار داشته باشید که با انتخاب این گزینه، آخرین تغییر، یعنی متنی که در TextBox دوم وارد کرده اید پاک شود. اما ویندوز تغییرات یک کنترل را برای لغو آنها به طور جداگانه ذخیره می کند. بنابراین اگر هنگامی که TextBox اول را انتخاب کرده اید روی گزینه Undo کلیک کنید، تغییرات مربوط به این کنترل لغو می شوند.
آخرین گزینه ای که درمنوی Edit باید مورد بررسی قراربگیرد، گزینه Cut است.............


برچسب‌ها:

ادامه مطلب
تاريخ : پنج‌شنبه 20 شهریور 1393 | 08:25 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(2)

کد نویسی منوی View و نوارابزار:

بعد از اتمام منوهای File و Edit و دکمه های نوارابزار مرتبط با آنها، نوبت به منوی View می رسد تا کد مربوط به آن را در برنامه وارد کنیم.

امتحان کنید: نوشتن کد مربوط به منوی View

در قسمت طراحی فرم به منوی View بروید و گزینه Main را از زیر منوی Toolbars انتخاب کنید. سپس با استفاده از پنجره Properties، روی رویداد کلیک در لیست رویدادهای این گزینه دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. کد مشخص شده در زیر را به این متد اضافه کنید:


برچسب‌ها:

ادامه مطلب
تاريخ : پنج‌شنبه 20 شهریور 1393 | 08:08 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)

نوشتن کد برای منوها:

حال که تمام کنترلهای مورد نیاز را در فرم قرار دادیم، باید کد نویسی آن را شروع کنیم. ابتدا کد مربوط به عملکرد منوها را می نویسیم. بعد از اتمام آن کد مربوط به بعضی از دکمه های موجود در نوارابزار Main را کامل می کنیم.

امتحان کنید: نوشتن کد منویFile

به قسمت طراحی فرم رفته و با استفاده از نوارمنو، گزینه New را از منوی File انتخاب کنید. سپس به پنجره Properties بروید و روی آیکون Events کلیک کنید تا رویدادهای این گزینه از منو نمایش داده شوند. از لیست رویدادها، رویداد کلیک را انتخاب کرده و روی آن دوبار کلیک کنید تا متد مربوط به آن ایجاد شود. سپس کد مشخص شده در زیر را به این متد اضافه کنید:
عملکرد دکمه New در نوارابزار Main نیز مشابه عملکرد این گزینه از نوارمنو است. برای نوشتن کد مربوط به این دکمه، به قسمت طراحی فرم رفته و دکمه New را از نوارابزار انتخاب کنید. سپس از لیست رویدادهای این کنترل در پنجره Properties رویداد کلیک را انتخاب کرده و روی آن دوبار کلیک کنید تا متد مربوط به آن ایجاد شود. به علت مشابه بودن عملکرد این متد با متد مربوط به رویداد کلیک گزینه New در منوی File، در این قسمت کافی است کد زیر را به متد اضافه کنید:
همانند قسمت یک، متد مربوط به رویداد کلیک گزینه exitToolStripmenuItem در منوی File را ایجاد کرده، سپس کد زیر را به آن اضافه کنید:

چگونه کار می کند؟

کد مربوط به رویداد کلیک گزینه New کاملا واضح است. در این قسمت باید برنامه را به حالت اولیه برگردانیم. برای این کارنیز کافی است که متن داخل TextBox ها را پاک کرده و فوکوس را به TextBox اول انتقال دهیم تا اگر کاربر متنی را وارد کرد، در این قسمت نوشته شود. برای پاک کردن متن داخل TextBox ها نیز کافی است خاصیت Text آنها را برابر با خاصیت Empty از کلاس String قرار دهیم.
دکمه ی New در نوارابزار نیز باید همین عمل را انجام دهد، اما نیازی نیست که این کد را برای این کنترل نیز تکرار کنیم. یکی از کارهایی که در این قسمت می توانید انجام دهید این است که متدی مجزا برای این مورد بنویسید و این متد را در متدهای newToolStripButton_Click و newToolStripMenuItem_Click فراخوانی کنید. اما روش بهتری هم وجود دارد و این است که کد مربوط به این قسمت را در یکی از این زیربرنامه ها پیاده سازی کرد و در متد دیگرآن زیربرنامه را فراخوانی کرد. در اینجا کد مربوط به این کار را در متد newToolStripMenuItem_Click قرار دادیم و در زیربرنامه ی newToolStripButton_Click آن را فراخوانی کردیم. به علت اینکه پارامترهای هردوی این متدها یکسان است، برای فراخوانی متد اول، می توانیم از پارامترهای متد دوم استفاده کنیم.
حال چه از دکمه New در نوارابزار استفاده کنید و چه گزینه New از منوی فایل را انتخاب کنید، نتیجه مشابه ای دریافت خواهید کرد.
در گزینه ی Exit از منوی File باید کدی را قرار دهید تا برنامه را تمام کند. برای این کار می توانید از متد Exit در کلاس Application استفاده کنید. این متد فرم برنامه را می بندد، تمام منابع اشغال شده به وسیله آن را آزاد کرده و به اجرای برنامه خاتمه می دهد.
حال که بخش کد مربوط به منوی File و دکمه های متناظر آن در نوارابزار به پایان رسید، به منوی Edit می رویم تا کد مربوط به گزینه های آن را بنویسید.

امتحان کنید: نوشتن کد منوEdit

اولین گزینه در منوی Edit، گزینه Undo است. برای نوشتن کد مربوط به این گزینه به قسمت طراحی فرم بروید و روی گزینه Undo در منویEdit دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. سپس کد زیر را در این متد وارد کنید:
حال باید کد مربوط به گزینه Cut از این منو را بنویسیم. برای این کار در قسمت طراحی فرم گزینه Cut را از منوی Edit انتخاب کرده و روی آن دوبار کلیک کنید. به این ترتیب متد مربوط به رویداد کلیک آن ایجاد می شود. کد زیر را در این متد وارد کنید:
عملکرد دکمه Cut در نوارابزار نیز مشابه عملکرد این گزینه در نوارمنو است. بنابراین با استفاده از نوارابزار در قسمت طراحی فرم، دکمه ی Cut را انتخاب کرده و روی آن دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود.سپس در این متد، زیر برنامه cutToolStripMenuItem_Click را فراخوانی کنید.
گزینه بعدی در منوی Edit، گزینه Copy است. کد این گزینه نیز به نسبت مشابه گزینه Cut است. با دوبار کلیک روی این گزینه در قسمت طراحی فرم، متد مربوط به رویداد کلیک آن را ایجاد کرده و کد زیر را در آن وارد کنید:
متد مربوط به رویداد کلیک دکمه ی Copy در نوارابزار را ایجاد کرده ودر آن متد قبلی را فراخوانی کنید. برای این کار کافی است کد زیر را به این متد اضافه کنید:
حال به قسمت طراحی فرم برگردید و از منوی Edit گزینه یPaste را انتخاب کرده، روی آن دوبار کلیک کنید. در متد مربوط به رویداد کلیک آن که به طور اتوماتیک ایجاد می شود، کد زیر را وارد کنید:
برای کد مربوط به رویداد کلیک دکمه ی Paste در نوارابزار نیز می توان از فراخوانی متد قبلی استفاده کرد. بنابراین با دوبار کلیک روی دکمه Paste در نوارابزار، متد مربوط به رویداد کلیک آن را ایجاد کرده و کد زیر را در آن وارد کنید:

 

 



برچسب‌ها:

ادامه مطلب
تاريخ : پنج‌شنبه 20 شهریور 1393 | 08:04 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)
آموزش مقدماتی C#

اضافه کردن نوار ابزارها و کنترل ها:

حال که منوهای مورد نیاز در برنامه را ایجاد کردیم، به سراغ نوار ابزارها و دکمه های آن می رویم. منوهایی که در بخش قبلی ایجاد کردیم، نمایش داده شدن و یا نشدن این نوار ابزارها را کنترل خواهند کرد. همچنین دو Text Box نیز به برنامه اضافه خواهیم کرد تا به وسیله دکمه های موجود در نوار ابزار و یا گزینه های منوها بتوانیم متن داخل یکی از آن را کات و یا کپی کرده و در دیگری قرار دهیم.

امتحان کنید: اضافه کردن نوار ابزارها وکنترل ها

  • در این برنامه به دو نوار ابزار نیاز دارید. ابتدا با استفاده ازجعبه ابزار یک کنترل ToolStrip بر روی فرم قرار دهید. مشاهده خواهید کرد که این کنترل به طوراتوماتیک در قسمت بالای فرم قرار می گیرد. خاصیت Name این نوارابزار را به tspFormatting تغییر دهید. همچنین به علت اینکه نمی خواهیم این نوارابزار به طورپیش فرض در فرم نمایش داده شود، خاصیت Visible آن را برابر False قراردهید.
  • دراین نوارابزار به سه دکمه نیاز داریم. بنابراین در بین خصوصیات آن، گزینه Items را انتخاب کرده و روی دکمه ی … مقابل آن کلیک کنید.
  • در پنجره Items Collection Editor روی دکمه ی Add کلیک کنید تا یک کنترل Button به این نوارابزار اضافه شود. می توانید خاصیت نام و دیگر خاصیتهای این کنترل را تغییر ندهید، زیرا نمی خواهید از آن در کد استفاده کنید. تنها خاصیت DisplayStyle آن را برابر با Image قرار داده و سپس روی دکمه … در مقابل خاصیت Image کلیک کنید.
  • در پنجره Select Resource روی دکمه .......................


برچسب‌ها:

ادامه مطلب
تاريخ : یکشنبه 16 شهریور 1393 | 08:28 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)
آموزش مقدماتی C#

ایجاد منوها:

حال بهتر است که ببینیم چگونه می توان در یک برنامه منو ایجاد کرد. در بخش امتحان کنید بعد، برنامه ای ایجاد خواهیم کرد که شامل یک نوار منو، دو نوار ابزار و دو TextBox باشد. نوار منو شامل منوهای File، Edit، View، Tools وHelp و چندین گزینه و زیرمنو درهریک از آنها خواهد بود. به این ترتیب می توانید تمام ویژگی های منوها را در برنامه مشاهده کنید. به علت اینکه این برنامه از چند بخش تشکیل شده است، نوشتن آن را نیز به چند قسمت تقسیم می کنیم و در قسمت اول به طراحی منوها می پردازیم.

طراحی منوها:

امتحان کنید: ایجاد منوها

یک پروژه جدیدی به نام Menus ایجاد کنید و در قسمت طراحی فرم، روی فرم کلیک کرده و خاصیت های آن را مطابق لیست زیر تنظیم کنید:
            Size == 300;168
            StartPosition == CenterScreen
            Text == Menu Demo
با استفاده از جعبه ابزار، یک کنترل MenuStrip رادر فرم برنامه قرار دهید. این کنترل به طور اتوماتیک در بالای فرم قرار خواهد گرفت. علاوه برکنترلی که در بالای فرم قرار داده می شود،کنترلی هم همانند کنترلهای کادر محاوره های که در فصل هفتم مشاهده کردید، به قسمت پایین بخش طراحی فرم اضافه می شود.
در قسمت پایین طراحی روی کنترل menuStrip1 کلیک راست کنید وازمنو فرعی باز شده گزینه Insert Standard Items را انتخاب کنید تا گزینه های یک منوی استاندارد ....................


برچسب‌ها:

ادامه مطلب
تاريخ : یکشنبه 16 شهریور 1393 | 08:24 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)

آموزش مقدماتی C#

منو ها:

منوها جزتفکیک ناپذیرهر برنامه ی خوب محسوب می شوند و راهی راحت و پرکاربرد برای دسترسی کاربر به تمام قسمتهای برنامه را فراهم می کنند. برای مثال برنامه ی ویژوال استودیو با استفاده ازمنوها، به برنامه نویس این امکان را می دهد که به راحتی به ابزار های این محیط دسترسی داشته باشد و بتواند از آن ها استفاده کند. همچنین در محیط کد نویسی با استفاده از منوهای فرعی می توانید به راحتی اعمالی مانند کات کردن، کپی کردن، ویا جستوجو در بین کدها را انجام دهید.
در این فصل نحوه ایجاد منو در برنامه های ویژوال C# را بررسی خواهیم کرد. در طی فصل نحوه ی ایجاد و مدیریت منوها و زیرمنوها و همچنین نحوه ایجاد منوهای فرعی در یک برنامه را مشخص خواهید کرد. ویژوال C# دو نوع کنترل برای کار با منوها در جعبه ابزار خود دارد که در این فصل هر دوی آنها را بررسی خواهیم کرد.

در این فصل:

           با نحوه ی ایجاد منوها آشنا خواهید شد.
           با نحوه ی ایجاد زیرمنوها آشنا خواهید شد.
           چگونگی استفاده از منوهای فرعی را مشاهده خواهید کرد.

درک ویژگیهای یک منو:

کنترلی که در ویژوال استودیو برای ایجاد منو در برنامه مورد استفاده قرار می گیرد، MenuStrip نام دارد. این کنترل دارای چندین ویژگی کلیدی است. اولین و مهمترین ویژگی این است که به وسیله آن می توانیدبه سرعت و به راحتی منوها و زیر منوهای مورد نیاز در برنامه را ایجاد کنید.
منوهایی که به وسیله این کنترل ایجاد می کنید علاوه بر متنی که برای هر منو نمایش می دهد، می توانند شامل تصویر، کلید دسترسی، شورت کات و یا حتی به صورت گزینه ی قابل انتخاب باشند.

تصاویر:

حتما تاکنون تصاویر کنار منوها در برنامه های ویندوزی مانند Word ویا حتی خود ویژوال استودیو مشاهده کرده اید. تا قبل از ویژوال استودیو برنامه نویسان برای نمایش تصویر در کنار منوهای خود یا باید حجم زیادی از کد را در برنامه وارد کرده و یا از کنترلهای شخص – ثالث استفاده می کردند. اما در ویژوال استودیو برای هر گزینه ی منو، یک خاصیت Image نیز در نظر گرفته شده است که می توانید به وسیله آن تصویری را معین کنید تا در کنار منو نمایش داده شود.

کلیدهای دسترسی:

یک کلید دسترسی به کاربر اجازه می دهد که با فشار کلید Alt وآن کلید در صفحه کلید، به منو دسترسی پیدا کند. کلیدهای دسترسی برای هرمنو به صورت یک حرف هستند که در نام منو با یک زیر خط مشخص می شوند. هنگامی که کلید Alt همراه با کلید دسترسی منو در صفحه کلید فشار داده شد، منوی مربوطه در صفحه نمایش داده می شودو کاربر می تواند به وسیله کلیدهای مکان نما بین گزینه های منو جا به جا شود.

شورت کات ها:

به وسیله شورت کات ها می توانید بدون اینکه منوی مورد نظررا نمایش دهید، گزینه ای را از آن انتخاب کنید. شورت کات ها به صورت ترکیب یک کلید کنترلی همراه با یک کلید اصلی است، مانند شورت کات Ctrl + X برای کات کردن یک متن.

علامت تیک:

علامت تیک، علامتی است که در کنار بعضی از منوها به جای عکس قرار می گیرد و مشخص می کند که این گزینه هم اکنون انتخاب شده و یا در حال استفاده است. برای مثال اگر منوی View را از ویژوال استودیو انتخاب کرده و سپس به زیر منوی ToolBars بروید، نام تمام نوار ابزارهای موجود در ویژوال استودیو را مشاهده خواهید کرد که کنار بعضی از آنها یک علامت تیک قرار گرفته است. وجود این علامت در کنار یک گزینه به این معنی است که نوار ابزار مربوط به آن گزینه هم اکنون در ویژوال استودیو نمایش داده شده است.
شکل زیر ویژگی هایی که یک منو می تواند داشته باشد را نمایش می دهد. همانطور که مشاهده می کنید، این منوی نمونه علاوه بر تمام ویژگی هایی که ذکر کردیم یک منوی جدا کننده نیز دارد. یک منو جدا کننده به صورت یک خط افقی نمایش داده می شود و برای دسته بندی گزینه های مرتبط به هم درمنو به کارمی رود.

شکل بالا منوی برنامه را در زمان اجرای برنامه نمایش می دهد. این منو .................


برچسب‌ها:

ادامه مطلب
تاريخ : یکشنبه 16 شهریور 1393 | 08:05 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)

نمایش کادر های محاوره ای(کنترل FolderBrowserDialog)

کنترل FolderBrowserDialog :

بعضی از مواقع ممکن است در برنامه نیاز داشته باشید به کاربر اجازه دهید که به جای انتخاب یک فایل، یک فولدر را مشخص کند. برای مثال ممکن است بخواهید کاربر فولدری را برای ذخیره فایلهای پشتیبان و یا فولدری را برای ذخیره فایلهای موقتی برنامه مشخص کند. در این مواقع می توانید با استفاده از کنترل FolderBrowserDialog، کادر استاندارد Browse For Folder را در برنامه نمایش دهید. همانطور که ممکن است در دیگر برنامه های ویندوزی نیز مشاهده کرده باشید، این کادر فقط فولدرهای موجود در کامپیوتر را نمایش می دهدو به واسطه آن کاربر می تواند فولدری را در برنامه مشخص کند. همانند تمام کادرهای دیگر، کادر FolderBrowser نیز هم می تواند به صورت کنترل مورد استفاده قرار گیرد و هم به صورت یک کلاس. شکل زیر یک کادر FolderBrowser را بدون تنظیم خاصیتهای آن(با مقادیرپیش فرض خاصیت ها) نمایش می دهد. توجه کنیدکه در قسمت پایین این فرم یک دکمه فرمان Make New Folder وجود دارد که به کاربر اجازه می دهد فولدر جدیدی را ایجاد کند.

خاصیتهای کنترل FolderBrowser :

قبل از اینکه نحوه استفاده از این کنترل را در کد مشاهده کنیم بهتر است به بررسی خاصیتهای مهم آن بپردازیم. در جدول زیر لیستی از نام و نحوه استفاده از خاصیتهای مهم این کنترل آورده شده است.
Description == مشخص کننده متنی است که به عنوان توضیح در کادر نمایش داده می شود.
RootFolder == مشخص کننده آدرس فولدری است که به صورت پیش فرض باید در کادر نمایش داده شود.
SelectedPath == مشخص کننده آدرس مسیری است که به وسیله کاربر انتخاب شده است.
ShowNewFolderButton == مشخص می کند آیا دکمه ی Make New Folder در کادر نمایش داده شود یا نه؟
کادر محاوره ای FolderBrowser اولین کادری است که تقریبا از تمام خاصیتهای آن استفاده خواهید کرد.
همانند تمام کادرهای دیگر، این کنترل نیز دارای متدی به نام ShowDialog است که باعث نمایش داده شدن کادر در برنامه می شود. نحوه استفاده از این متد در این کنترل همانند کادرهای دیگر است، بنابراین نیازی به توضیح مجدد آن نیست.

استفاده از کنترل FolderBrowser :

همانند تمام کادرهای محاوره ای دیگر، قبل از نمایش کادر Browse For Folder باید بعضی از خاصیتهای آن را تغییر دهیم. سه خاصیتی که عموما قبل از نمایش این کادر تنظیم می شوند در قطعه کد زیرنشان داده شده اند. اولین خاصیت Description است که یک توضیح و یا دستورالعمل را برای کاربر در صفحه نمایش می دهد. متنی که در این خاصیت قرار داده شود، هنگام فراخوانی تابع ShowDialog در بالای کادر نوشته خواهد شد.
خاصیت بعدی خاصیت RootFolder است. این خاصیت مشخص می کند که هنگام نمایش کادر، چه فولدری به صورت پیش فرض نمایش داده شود. این خاصیت مقداری را از شمارنده SpecialFolder . Environment دریافت می کند و این شمارنده نیز خود حاوی آدرس فولدرهای مخصوص سیستم عامل ویندوز مانند فولدر My Documents است. خاصیت دیگری که قبل از نمایش کادر تنظیم می شود، خاصیت ShowNewFolderButton است. اگرمقداراین خاصیت برابر با true باشد، دکمه ی Make New Folder در کادر نمایش داده می شود تا به کاربر اجازه داده شود فولدر جدیدی را ایجاد کند. درغیراین صورت این دکمه نمایش داده نخواهد شد.
بعد از تنظیم خاصیت های لازم، می توانید با فراخوانی تابع ShowDialog کادر Browse For Folder را نمایش دهید:
این تابع نیز همانند کادرهای قبلی مقداری را از نوع DialogResult بر می گرداند که می توانید با استفاده از یک دستورif به بررسی نتیجه آن بپردازید. برای دسترسی به آدرس فولدری که کاربر انتخاب کرده است می توانیداز مقدار خاصیت SelectedPath استفاده کرده و آن را در متغییری ذخیره کنید. این خاصیت آدرس کامل فولدرانتخاب شده توسط کاربر را برمی گرداند. برای مثال اگر کاربر فولدرtemp را درون درایوC انتخاب کند، مقدار این خاصیت به صورت  C:\tempخواهد بود.
در امتحان کنید بعد، مجددا از پروژه Dialogs استفاده کرده و کادرBrowse For Folder را نمایش می دهیم. اگر کاربرفولدری را در این کادر انتخاب کرد، آدرس آن را درTextBox درون فرم نمایش خواهیم داد.

امتحان کنید: کاربا کنترل FolderBrowser

  • به قسمت طراحی فرم در پروژه Dialogs بروید.
  • با استفاده از جعبه ابزار کنترل Button دیگری را به برنامه اضافه کرده و خاصیتهای آن را بر طبق لیست زیر تنظیم کنید:
Name == btnBrowse
Text == Browse
Location == 367;158
Anchor == Top,Right
  •  حال باید یک کنترل FolderBrowserDialog را به برنامه اضافه کنید. برای این کار درجعبه ابزار به قسمت Dialogs بروید و بر روی کنترل FolderBrowserDialog دو بار کلیک کنید. مشاهده خواهید کرد که این کنترل نیز همانند کنترلهای قبلی به قسمت پایین بخش طراحی فرم اضافه خواهد شد.
  •   برروی دکمه ی btnBrowse دو بار کلیک کنید تا متد مربوط به رویداد Click آن ایجاد شود. سپس کد زیررا در آن متد وارد کنید:
  •   تمام کد مورد نیاز برای این برنامه همین بود. برای امتحان عملکرد برنامه، در نوار ابزار روی دکمه Start کلیک کنید.
  • هنگامی که فرم برنامه نمایش داده شد، روی دکمه ی Browse کلیک کنید. کادر Browse For Folder همانند شکل زیر نمایش داده خواهد شد.

  •  فولدری را در کامپیوترخود مشاهده کرده وروی دکمه فرمان OK کلیک کنید. مشاهده خواهید کرد که آدرس کامل فولدر مشخص شده، همانند شکل زیردر فرم نمایش داده خواهد شد.


 

چگونه کار می کند؟

قبل از این که Browse For Folder را نمایش دهید، باید بعضی از خاصیتهای آن را تنظیم کنید تا ظاهر آن با برنامه هماهنگ شود. اولین خاصیت، خاصیت Description است که برای راهنمایی کاربردر مورد این کادر به کار می رود. همانطور که مشاهده می کنید مقدار این متغییردرابتدای این کادر نمایش داده می شود. خاصیت بعدی، خاصیت RootFolder است که فولدر پیش فرض را مشخص می کند. در این برنامه My Computer را به عنوان فولدر پیش فرض در نظر گرفته ایم. همانطور که مشاهده می کنید، هنگام نمایش کادر درایو های موجود درMy Computer به طورپیش فرض نمایش داده می شوند. در انتها نیز خاصیت ShowNewFolderButton را برابر با false قرار می دهیم تا این دکمه در کادر نمایش داده نشود.
سپس کادرای را با فراخوانی متد ShowDialog نمایش می دهیم و سپس با استفاده از دستور if بررسی می کنیم که کاربر روی دکمه OK کلیک کرده است و یا روی دکمه Cancel:
اگر کاربر روی دکمه OK کلیک کرده بود، آدرس فولدر انتخاب شده توسط کاربر را که در خاصیت SelectedPath قرارگرفته است در فرم نمایش داده خواهد شد.

 

 

این



برچسب‌ها:

ادامه مطلب
تاريخ : چهارشنبه 12 شهریور 1393 | 08:11 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)

 نمایش کادر های محاوره ای(کنترل Print Dialog)

کنترل PrintDialog:

هربرنامه ای معمولا در قسمتی نیاز به امکان چاپ دارد. این نیاز می تواند به صورت نیاز به چاپ ساده ی یک متن و یا موارد پیشرفته تری مانند چاپ قسمتی از متن و یا صفحات مشخصی از آن باشد. درقسمت بعد به بررسی چگونگی چاپ یک متن ساده خواهیم پرداخت و نحوه ی استفاده از کلاسهای مربوط به چاپ درNET. رامشاهده خواهیم کرد.
یکی از کنترل هایی که درویژوال برای چاپ به کار می رود، کنترل      PrintDialog است. این کنترل کار چاپ را انجام نمی دهد. بلکه به کاربراجازه می دهد چاپگری را برای چاپ انتخاب کرده وتنظیمات قبل از چاپ را درآن چاپگر انجام دهد. برای مثال کاربر می تواند دراین کادرجهت صفحه، کیفیت چاپ ویا محدوده موردنظر برای چاپ را تعیین کند. شما ازاین ویژگی ها درمثال بعدی استفاده نخواهید کرد، اما همانطور که درشکل زیرمشاهده می کنید تمام این قابلیت ها به وسیله کادر PrintDialog قابل دسترسی است.
همانند تمام کادرهایی که در بخشهای قبلی مشاهده کردید، کادرPrintنیز دارای دو دکمه OK و Cancel است. بنابراین تابع ShowDialog مربوط به این کادر هم مقدار OK.DialogResult ویا Cancel.DialogResultرا بر می گرداند و می تواند از دستور if برای بررسی نتیجه برگشت داده شده توسط کادر استفاده کنید.

خاصیتهای کنترل PrintDialog :
در جدول زیرلیستی از خاصیتهای پر کاربرد کنترل PrintDialog و نیز توضیح آنها آمده است:
AllowPrintTofile == مشخص می کند آیا در کادرگزینه Print To File فعال باشد یا نه ؟
AllowSelection == مشخص می کند درکادر، دکمه رادیویی Selectin فعال باشدیا نه؟
AllowSomePages == مشخص می کند در کادر، دکمه رادیویی Pages فعال باشد یا نه؟
Document ==مشخص کننده سندی است که برای چاپ استفاده می شود.
PrinterSettings == تنظیماتی که در کادر، برای چاپگر انتخابی اعمال می شود را نگهداری می کند.
PrintToFile ==مشخص می کند آیا گزینه Print to file انتخاب شده است یا نه؟
ShowHelp ==مشخص می کند آیا دکمه فرمان Help در کادر نمایش داده شود یا نه؟
ShowNetwork ==مشخص می کند دکمه فرمان Network در کادر Print نمایش داده شود یا نه؟

استفاده ازکنترل PrintDialog :

برای نمایش کادرPrint کافی است که تابع ShowDialog آن را فراخوانی کنید. به این صورت کادر Print همانند شکل زیر نشان داده خواهد شد. همانطور که پیشتر نیز گفتم کنترل PrintDialog فقط کادری را برای تنظیمات چاپ نمایش می دهد و هیچ متنی را نمی تواند چاپ کند. قطعه کد زیر برای نمایش کادر Print می تواندمورد استفاده قرار بگیرد:

کلاس PrintDocument :

قبل از این که تابع ShowDialog در کنترل PrintDialog را فراخوانی کنید، باید خاصیت Document کلاس PrintDialog را تنظیم کنید. این خاصیت مقداری از نوع کلاس PrintDocument دریافت می کند. کلاس PrintDocument می تواند تنظیمات چاپگر را دریافت کرده و سپس با توجه به آن نتظیمات، خروجی خود (که در حقیقت همان اطلاعات مورد نظر ما است) را برای چاپ به چاپگر می فرستد. این کلاس درفضای نام System .Drawing .Printing قرار دارد. پس بهتر است که قبل از استفاده از آن برای اینکه هر بارنام کامل این فضای نام را وارد نکنیم، با استفاده از راهنمای using آن را به برنامه اضافه کنیم.

خصوصیات کلاس PrintDocument :

قبل از ادامه بهتر است نگاهی به بعضی از خصوصیات مهم کلاس PrintDocument که در جدول زیر آمده اند داشته باشیم.
DefaultPageSettings == مشخص کننده ی تنظیمات پیش فرض چاپگر برای چاپ سند(اطلاعات) مورد نظر است.
DocumentName == مشخص کننده نامی است که هنگام چاپ سند نمایش داده می شود. همچنین این نام در کادر Print Status ودر لیست اسناد موجود در صف چاپ برای مشخص کردن سند نوشته می شود.
PrintController == محتوی شیئ از کلاس PrintController است که پروسه چاپ را مدیریت می کند.
PrinterSettings == مشخص کننده چاپگری است که برای چاپ این سند استفاده می شود.

چاپ یک سند :

متد Print از کلاس PrintDocument سندی را به وسیله چاپگر مشخص شده در خاصیت PrinterSettings چاپ می کند. هنگامی که این تابع را در برنامه فراخوانی کنید، هر بار که صفحه ای بخواهد به وسیله این تابع چاپ شود متد مربوط به رویدادPrintPage از کلاس  PrintDocument نیز فراخوانی می شود. تابع Print به وسیله این متد مشخص می کند که کدام بخش از فایل باید در صفحه جاری چاپ شود. بنابراین قبل از اینکه بتواند متنی را چاپ کنید باید متدی را برای این رویداد ایجاد کنید. سپس در این متد باید یک صفحه از متن را به وسیله کلاس StreamReader از فایل خوانده و آن را به چاپگر بفرستید تا چاپ شود.
در بخش امتحان کنید زیر مشاهده خواهیم کرد که چگونه می توان محتویات یک فایل متنی را به وسیله کلاس PrintDocument چاپ کرد.

امتحان کنید: کار با کنترل PrintDialog

  •   درمحیط ویژوال استودیو، پروژه Dialogs را باز کنید.
  • با استفاده از جعبه ابزار کنترل Button دیگری را بر روی فرم قرار داده و خاصیتهای آن را مطابق لیست زیر تنظیم کنید:
خاصیت Name را برابر با btnPrint قرار دهید.
خاصیت Anchor را برابر با Top’Right قرار دهید.
خاصیت Location را برابر با 367;128 قرار دهید.
خاصیت Text را برابر با Print قرار دهید.
  • در جعبه ابزار به قسمت Printing بروید وبر روی کنترل PrintDialog دو بار کلیک کنیدتا بر روی فرم قرار بگیرد. مشاهده خواهید کرد که این کنترل نیز همانند کادرهای قبلی، در پایان قسمت طراحی فرم قرار می گیرد.
  • به قسمت ویرایشگر کد بروید و با استفاده از راهنمای using فضای نامهای زیر را به برنامه اضافه کنید:
  •  حال متغیرهایزیر را به صورت عمومی در ابتدای کلاس مربوط به فرم برنامه تعریف کنید:
  • به قسمت طراحی فرم برگردید وبر روی دکمه ی btnPrint دو بار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. سپس کد زیر را در این متد وارد کنید:


برچسب‌ها:

ادامه مطلب
تاريخ : چهارشنبه 12 شهریور 1393 | 08:05 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)

فصل ششم: نمایش کادر های محاوره ای(کنترل ColorDialog)

کنترل Color Dialog

در مواقعی ممکن است نیاز اشته باشید که به کاربر اجازه دهید رنگی را در بنامه انتخاب کند. برای مثال ممکن است بخواهید از این رنگ در تنظیم رنگ پس زمینه ی فرم، در تنظیم رنگ یک کنترل و با برای تنظیم رنگ متن داخل TextBox استفاده کنید.
کنترل Color Dialog که در شکل زیر نشان داده است به کاربر اجازه می دهد بین 48 رنگ ساده رنگی را انتخاب کنید.

دقت کنید که علاوه بر این رنگ های ابتدایی کاربر می تواند بر روی دکمه ی  Define Custom Color کلیک کرده و با ترکیب رنگ ها، رنگ مورد نظر خود را ایجاد کند. این مورد باعث انعطاف پذیری بیشتر این کادر می شود و به کاربر اجازه می دهد رنگ مورد نظر خود ایجاد کند.این مورد باعث انعطاف پذیری بیشتر این کادر می شود و به کاربر اجازه می دهد رنگ مورد نظر خود را ایجاد کرده و در برنامه از آن استفاده کند.

خاصیت های کنترل Color Dialog

AllowFullOpen: مشخص می کند که ایا کاربر می تواند از قسمت Custom Color  نیز برای تعریف رنگ جدید استفاده کند یا نه. در صورتی که مقدار این گزینه برابر با False  باشد، دکمه فرمان Define Custom Color غیری فعال خواهد بود.
AnyColor: مشخص می کند که آیا کادر محاواره ای تمام رنگه های موجود را به عنوان .................

 



برچسب‌ها:

ادامه مطلب
تاريخ : چهارشنبه 12 شهریور 1393 | 07:56 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(0)

فصل ششم: نمایش کادر های محاوره ای(کنترل Font Dialog)

کنترل Font Dialog

هماند کادر های Open File Dialog و Save File Dialog کادر محاواره ای Font Dialog هم می تواند به صورت یک کنترل و هم می تواند به صورت یک کلاس مورد استفاده قرار بگیرد. استفاده از این کادر بسیار راحت است. کافی است تعدادی از خاصیت آن را تنظیم کنید، کادر را نمایش دهید و سپس با استفاده از خاصیت های کادر مشخص کنید که کدام فونت توسط کاربر انتخاب شده است.

 

خاصیت های کنترل font Dialog:

Allow Script Change: مشخص می کند آیا کاربر می تواند با استفاده از قسمت اسکریپت کادر مجموعه کاراکتر هایی جدای از آنچه در قسمت Script مشخص شده است را انتخاب کند یا نه؟ در صورت اینکه مقدار این خاصیت برابر با True باشد، تمام مجموعه کاراکتر های موجود در قسمت Script نمایش داده می شود.
Color: رنگ فونت انتخاب شده را مشخص می کند.
Font: نام فونت انتخاب شده را مشخص می کند.
Font Must Exist: مشخص می کند که اگر کاربر نام فونتی را انتخاب کرد که وجود نداشت، کادر پیغامی برای خطا نمایش داده شود یا نه؟
Max Size: حد اکثر اندازه ای که کاربر می تواند برای فونت انتخاب کند  را مشخص می کند.
Min Size: حداقل اندازه ای که کاربر می تواند برای فونت انتخاب کند  را مشخص می کند.
Show Apply: مشخص می کند در کادر محاواره ای که نمایشه داده می شود باید دارای دکمه Apply نیز باشد یا نه؟
Show Color: مشخص می کند که کادر فونت، امکان انتخاب رنگ نیز باشد یا نه؟
Show Effect: مشخص می کندآیا کادر فونت دارای قسمتی برای تعیین خط دار بودن، زیر خط دار بودن و انتخاب رنگ متن توسط کاربر باشد یا نه؟
Show Help: مشخص می کندآیا کادر فونت دارای دکمه فرمان  Help باشد یا نه؟

 

متد های کنترل Font dialog:

در مثال زیر ما فقط از یکی از متدهای Font dialog استفاده خواهیم کرد که آن نیز متد Show Dialog برای نمایش کادر محاواره ای خواهد بود.

 

امتحان کنید:کار با کنترل Font Dialog

  • مجددا پروژه Dialogs ..........................


برچسب‌ها:

ادامه مطلب
تاريخ : یکشنبه 09 شهریور 1393 | 08:33 | نویسنده : کـــــوچـــــولـــــو | ارسال نظر(1)
لطفا از دیگر مطالب نیز دیدن فرمایید
.: Weblog Themes By SlideTheme :.
💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران

Flying Icon