تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 7 اولاول 1234567 آخرآخر
نمايش نتايج 21 به 30 از 62

نام تاپيک: آموزش C# از ابتدا تا انتها

  1. #21
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و یکم


    • حلقه Do-While

    در سی‌شارپ، هر حلقه‌ای را که استفاده می‌کنید، معمولاً یک کار مشابهی را انجام می‌دهند و تفاوت آنچنانی‌ای میان آ‌ن‌ها وجود ندارد. همه آن‌ها شرطی را خواهند داشت که تا زمان برقراری آن شرط (صحیح بودن آن برقرار باشد)، حلقه کدهای درون خود را اجرا خواهد کرد.
    یکی دیگر از حلقه‌های موجود در سی‌شارپ، حلقه Do – While می‌باشد. ساختمان این حلقه به‌شکل زیر است:
    do
    {
    } while(true);
    ابتدا دقت کنید که علامت Semicolon بعد از while آمده است. ما این حلقه را با عبارت do شروع می‌کنیم و سپس دو براکت باز و بسته قرار داده و کدهای مورد نیاز را در درون آن قرار می‌دهیم تا هنگام صحیح بودن شرط مورد بررسی، این کد‌های اجرا شوند. شرطی که باید بررسی شود پس از نوشتن عبارت while و گذاشتن جفت پرانتزها، نوشته می‌شود.
    برای مثال، در پروژه‌ای که در بحث قبلی آموزشی خودمان داشتیم (جدول‌ضرب)، ما می‌توانیم کدمان را به‌شکل زیر اجرا کنیم:
    do
    {
    answer = multiplyBy * i;
    listBox1.Items.Add(answer.ToString());
    i++;
    } while (i <= loopEnd);
    این بار، به‌جای آنکه از حلقه For استفاده کنیم، از حلقه Do-While استفاده کردیم. می‌بینید که این حلقه اجرا می‌شود تا زمانی که دستور مابین پرانتزهای while غلط شود. دقت کنید که جایی که باید متغیر i را مقدار دهی کنیم تا در حلقه از آن استفاده شود، باید خارج از این حلقه باشد؛ چرا که اگر قرار باشد داخل حلقه این مقداردهی صورت گیرد، هربار که حلقه اجرا می‌شود، این مقداردهی مجدداً تکرار می‌شود.
    در کد‌های بالا می‌بینید که مقدار i در داخل کد مقدارش افزایش داده می‌شود، چون حلقه Do-While مثل حلقه For نیست که از همان اول ۳ دستور لازم نوشته شود.

    • حلقه While

    حلقه‌ی While نیز یکی دیگر از حلقه‌های مورد استفاده در زبان سی‌شارپ می‌باشد. این حلقه نیز ساختار و عملکری بسیار شبیه به Do – While را دارد. ساختار نوشتاری آن به‌شکل زیر می‌باشد:
    while (true)
    {
    }
    و این‌بار کدهای مربوط به پروژه جدول‌ضرب نیز با این حلقه می‌نویسیم:
    while ( i <= loopEnd)
    {
    answer = multipyBy * i;
    listBox1.Items.Add(answer.ToString());
    i++;
    }
    معمولاً استفاده از حلقه‌های While راحت‌تر از Do – While می‌باشد. اگر به دو حلقه‌ی While و Do – While دقت کنید، شاید متوجه شده‌باشد که در حلقه While، قبل از اجرای کدهای داخل حلقه، ابتدا شرط بررسی می‌شود و در صورتی که شرط صحیح می‌باشد، کدهای درون آن اجرا می‌شود. اما در حلقه Do – While ابتدا برای یک‌بار کدهای داخل حلقه اجرا می‌شود و در انتها شرط بررسی می‌شود؛ درصورتی که صحیح باشد، دوباره به بالا برمی‌گردد و کدها را یک‌بار دیگر اجرا و شرط را نیز بار دیگر بررسی می‌کند و به همین ترتیب …
    شاید یکی از مسائلی که ذهن شما را مشغول ساخته است، این باشد که «خوب؛ من چطوری بفهمم که کدوم حلقه توی موقعیت‌های مختلف باید استفاده شه؟» پاسخ این سوال این هست: بیشتر مواقع همیشه می‌توانید از هر حلقه‌ای که بخواهید استفاده کنید، اما شاید بعضی مواقع برای شما شرایطی بوجود می‌آید که مجبور می‌شوید از یک حلقه‌ی خاص استفاده کنید؛ یا اینکه نمی‌توانید از حلقه‌ی خاصی استفاده کنید!
    وقتی که تجربه‌ی شما در سی‌شارپ بیشتر می‌شود، خودتان متوجه خواهید شد که کدام حلقه مناسب‌تر هست و لازم نیست که نگران آن باشید. این‌ها مهارت‌هایی هستند که در آینده به‌صورت ناخودآگاه به آن‌ها مسلط خواهید شد.

  2. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  3. #22
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و دوم


    • کنترل خالی بودن Text Box

    پروژه‌ی جدیدی را در Visual Studio به‌صورت Windows Application ایجاد کنید و فرمی شبیه به شکل زیر تهیه کنید:




    بر روی Buttonای که در فرم خود قرار داده‌اید، دوبار کلیک کنید و کد‌های زیر را در داخل آن بنویسید:





    کدهایی را که همانند بالا در نرم‌افزار خود نوشته‌اید را اجرا کنید. در واقع، کدهای بالا این عمل را انجام می‌دهند که یک شماره‌ای را بصورت int از یک Text Box دریافت می‌کند و به‌صورت یک String به MessageBox ارسال خواهد کرد.
    اگر کدهای بالا را اجرا کردید، ابتدا یک شماره را در Text Box وارد کرده و بر روی Button کلیک کنید؛ باید همان عدد را در قالب یک MessageBox ببینید. این‌بار، Text Box را کاملاً خالی کرده و بر روی Button کلیک کنید! چه خواهد شد؟ باید خطایی شبیه به خطای زیر ببینید:





    شاید خطاها به‌شکل‌های متفاوتی (بستگی به نسخه Visual Studio شما) نمایش داده شود، اما در هر صورت، خطا ناشی از خالی بودن این Text Box است.
    برای جلوگیری از این مشکل، ما از یک متد با نام TryParse استفاده می‌کنیم. برای تبدیل ارقام ما قبلاً بدین شکل عمل می‌کردیم:
    textBoxNumber = int.Parse(textBox1.Text);
    متد Parse خالی بودن یا نبودن یک Text Box را بررسی نمی‌کند و مستقیماً می‌خواهد که مقدار داخل Text Box تعیین شده را به مقدار خواسته شده تبدیل کند، بنابراین ممکن است که در بعضی مواقع، به‌خاطر اشتباه کاربر که یک Text Box را خالی گذاشته، با خطایی روبرو شود.
    بنابراین در متد TryParse به سی‌شارپ می‌گوییم که اول ببیند آیا مقدار داخل Text Box قابل تبدیل است یا نه. کدهای ما شکلی شبیه به زیر را خواهند داشت:





    کد فوق به شکل زیر است:
    متغیر outputValue، مقدار تغییر یافته را در خود نگه‌داری خواهد کرد. یک متغیر از نوع Bool نیز تعریف می‌کنیم که ببینیم آیا متد TryParse می‌تواند مقدار داخل را تبدیل کند یا نه! اگر جواب مثبت بود، مقدار آن True می‌شود؛ در غیراینصورت False خواهد بود.
    پس از آنکه از TryParse استفاده می‌کنید،‌ باید بررسی کنید که آیا مقدار، قابل تبدیل است یا خیر! پس با استفاده از دستور IF … ELSE، این شرط را بررسی می‌کنیم.
    در داخل IF، ما کد را به‌این شکل نوشتیم که اگر مقدار قابل تبدیل بود، با استفاده از علامت NOT (!)، مقدار را False می‌کنیم تا وارد کدهای درون IF نشود و کدهای ELSE را اجرا کند. اما اگر مقدار ما قابل تبدیل نبود، پس مقدار isNumber برابر با False خواهد شد و با استفاده از دستور منطقی NOT، به True تبدیل می‌شود و وارد بدنه IF می‌شود.

  4. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  5. #23
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و سوم

    یکی از موارد بسیار مهم و کاربردی که بیشتر مخصوص Windows Form Application می‌باشد، وجود یک منو در بالای هر Form می‌باشد. در این بخش ما سعی خواهیم کرد که بیشتر بخش‌های مربوط به این منو را در این آموزش‌ها پوشش دهیم. در نهایت ما با یک فرمی شبیه به شکل زیر مواجه خواهیم شد:






    • اضافه کردن منو به Windows Form

    ابتدا برای شروع، یک پروژه از نوع Windows Form Application بسازید و نام آن را به‌دلخواه خود انتخاب کنید. پس از ساخته شدن پروژه، نگاهی به ToolBox خود در سمت چپ بیاندازید. یک بخشی با نام Menus & Toolbars وجود دارد که بر روی علامت + آن کلیک کنید تا باز شود.





    از بین انتخاب‌های موجود، ما MenuStrip را برای فرم خود می‌خواهیم. دوبار بر روی آن کلیک کنید؛ همانند تصویر زیر خواهید دید که روی فرم شما یک منو به‌طور خودکار اضافه خواهد شد.





    دقت کنید که در پایین Visual Studio چه چیزی ظاهر می‌شود:





    این خود شیء MenuStrip است که به‌صورت خودکار، دارای نام menuStrip1 می‌باشد. اگر که Menu Strip شما انتخاب نشده باشد، می‌توانید با کلیک کردن بر روی آن، تمامی Properties موجود برای آن را در پنجره مربوط به Properties را مشاهده کنید.
    اضافه کردن منو‌ها و آیتم‌ها برای فرم خود بسیار کار ساده‌ای می‌باشد؛ فقط کافیست که در داخل Text Box موجود در این منو‌ها کلیک کنید تا بتوانید منوهای خودتان را اضافه کنید.
    به تصویر زیر دقت کنید؛ طبق تصویر بر روی اولین منو کلیک کنید و نام File را وارد کنید.





    کلید Enter را بفشارید و منوی فرم شما چنین خواهد شد:





    کاری که شما کردید، اضافه کردن منوی اصلی در فرم خود می‌باشد (منوی File). برای آن‌که منوهای زیر شاخه‌ای را برای منوهای اصلی در نظر بگیرید، می‌توانید در زیر آن‌ها، نام زیرمنو را تعریف کنید:





    وقتی که بر روی یک زیر منو کلیک می‌کنید، فقط آن انتخاب می‌شود و Properties مربوط به آن را می‌توان در پنجره Properties مشاهده کرد. به تصویر زیر دقت کنید:





    Property ای که ما به آن توجه می‌کنیم، (Name) می‌باشد. اگر دقت کنید، می‌بینید که نام آن کمی بلند است، لذا آن را تغییر می‌دهیم:





    یک زیر منوی دیگری را با نام Open اضافه کنید؛ طبق تصویر:





    اینبار نیز Open را انتخاب کنید و در پنجره‌ی Properties، مشخصه (Name) را آن همانند مرحله پیش تغییر دهید. نام آن را قرار دهید: mnuOpen
    یک زیر منوی دیگری با نام Save نیز ایجاد کرده و (Name) آن را تغییر دهید به:mnuSave





    اکنون فقط دو کار مانده؛ آن هم اضافه کردن دو شیء دیگر به منو است. اولین شیء، یک خط جداکننده (Dividing Line) و یک منوی خروج (Quit). برای ایجاد یک خط جداکننده، به همان روشی که می‌خواهید یک زیر منو ایجاد کنید، عمل می‌کنیم؛ فقط کافیست به‌جای نوشتن نام، یک خط‌تیره (کنار کلید شماره صفر) قرار دهید، پس از آن به‌صورت خودکار یک خط جداکننده برای شما ایجاد خواهد شد.





    یک گزینه Quit نیز برای منوی خود قرار دهید؛ و (Name) آن را به mnuquit تغییر دهید. منوی File شما اکنون تکمیل است. کافیست که یک‌بار برنامه خود را اجرا کنید و ببینید که چگونه عمل می‌کند:





    البته بدیهی است که هیچ‌یک از این منوها کار نخواهند کرد، چرا که برای هیچ‌کدام از آن‌ها کدی ننوشته‌ایم. به‌زودی برای آن‌ها کدهایی را خواهیم نوشت تا بتوانیم از آن‌ها به‌صورت کاربردی استفاده کنیم.
    تغییر شکل و شمایل منو را می‌توانید از پنجره Properties در مشخصه RenderMode تغییر دهید تا به یک نمای مناسب از منو دست پیدا کنید.
    اضافه کردن زیر منو به یک زیر منو نیز به راحتی قابل انجام است. کافیست همانند تصویر زیر، در زیر منوی New، یک زیر منو با نام دلخواه ایجاد کنید. موارد زیر را همانند تصویر ایجاد کنید.





    اگر در برنامه‌های معروف موجود در ویندوز دقت کرده‌باشد، می‌دانید که تقریباً بیشتر منوها دارای یک کلید ترکیبی برای دسترسی سریع به منو است. برای مثال، در اغلب برنامه‌ها، با فشردن کلیدهای ترکیبی ctrl و N، یک سند و یا فایل جدیدی را خلق می‌کنید. و یا با فشردن کلیدهای ctrl و Z، عمل برگشت (Undo) انجام می‌شود.
    کار دیگری نیز که در منوها قابل انجام است، کشیدن خطوطی زیر حرف‌های شاخص هر زیر منو است. با این‌کار، هنگامی که کلید ALT را فشار می‌دهید، می‌توانید با استفاده از حروف شاخص تعیین شده به منوی دلخواه دسترسی سریع‌تری را داشته باشید. برای مثال، در خود برنامه Visual Studio، کلید ALT را فشار دهید؛ خواهید دید که منوی File باز می‌شود، اما به حروف مشخص شده که زیر آن‌ها خط کشیده شده است دقت کنید:





    ابتدا، برای ایجاد این حروف شاخص، کافیست که با انتخاب هر منو، به پنجره‌ی Properties مراجعه کرده و در مشخصه Text آن، قبل از نام منو، یک علامت & قرار دهید. بدین شکل:





    برای اضافه کردن کلید‌های ترکیبی به منوی خود، کافیست که در پنجره Properties، در مشخصه ShortcutKeys، کلید ترکیبی مورد نظر خود را تعیین کنید. ما برای گزینه New، کلیدهای ترکیبی CTRL و N را در نظر گرفتیم. بدین شکل:





    تمرین ۱: زیرمنوهای زیر را برای منوی Edit ایجاد کنید و (Name) هرکدام را طبق موارد مشخص شده، قرار دهید:


    Undo: mnuUndo
    Cut: mnuCut
    Copy: mnuCopy
    Paste: mnuPaste
    تمرین ۲: منوی View و زیر منوهای آن را نیز طبق تصویر اضافه کرده و (Name) هرکدام را طبق موارد مشخص شده قرار دهید:



    View Text Boxes: mnuViewTextBoxes
    View Labels: mnuViewLables
    View Images: mnuViewImages

  6. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  7. #24
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و چهارم


    • فعال کردن منوی Quit

    اولین و مهم‌ترین بخش منوها که در تمامی نرم‌افزارها وجود دارد، منوی Quit می‌باشد. شاید در کمتر برنامه‌ای می‌توانید گزینه‌ای در منو برای خروج از برنامه را پیدا نکنید. پس اول از همه، شروع می‌کنیم به نوشتن کد مربوط به خروج!
    در فرم خود، بر روی منوی File کلیک کنید تا منو برای شما باز شود و سپس بر روی Quit دابل-کلیک کنید تا وارد بخش کدنویسی مربوط به این گزینه شوید.
    تابعی که از آن برای خروج از برنامه استفاده می‌شود، تابع زیر است:
    Application.Exit();
    این تابع در هر مرحله‌ای که اجرا شود، باعث خواهد شد که کاربر از نرم‌افزار خارج شود. پس برنامه‌ی خود را یک‌بار اجرا کنید و آن امتحان کنید؛ خواهید دید که با کلیک بر روی Quit (یا فشردن کلیدهای ترکیبی) برنامه‌ی شما خاموش می‌شود.
    شما می‌توانید کاری کنید تا برنامه شما کمی جالب‌تر به‌نظر برسد؛ مثلاً با استفاده از یک Message Box،‌ از کاربر بپرسید که آیا واقعاً می‌خواهد از برنامه خارج شود یا نه. پس کد زیر را جایگزین کد بالا کنید:
    if (MessageBox.Show(“Really Quit?”, “Exit”, MessageBoxButtons.OKCancel) == DialogResult OK)
    {
    Application.Exit();
    }
    ابتدا کد بالا را تشریح می‌کنیم. اول کاری با دستور شرطی IF نداشته باشید و به داخل پرانتزهای آن توجه کنید. می‌بینید که یک MessageBox تعریف کردیم که از کاربر سوال می‌کند که آیا واقعاً می خواهد از برنامه خارج شود یا نه! در نهایت هم برای فرم ما، دو کلید OK و Cancel تعریف کردیم. (توسط کد MessageBoxButtons.OKCancel)
    در مقابل آن، علامت دو-مساوی قرار داده و گفتیم که اگر DialogResult (=نتیجه Dialog) OK باشد، پس وارد کد بشود. در واقع، دستور شرطی IF چک می‌کند که آیا مقدار DialongResult برابر با OK بوده است یا نه؛ اگر چنین بود، پس وارد بدنه IF می‌شود و تابع مربوط به خروج از برنامه را اجرا می‌کند.

  8. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  9. #25
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و پنجم

    اجرای منوی Edit در سی‌شارپ
    قاعدتاً می‌بایست که ما قبل از کدنویسی منوی Edit، سایر گزینه‌های منوی File را راه‌اندازی کنیم، اما بدلیل پیچیدگی آن نسبت به سایر منوها، آن را فعلاً رها می‌کنیم و ابتدا با منوی Edit شروع می‌کنیم؛ در نهایت مجدداً به سراغ منوی File بازخواهیم گشت.
    برای اینکه عملکرد گزینه‌های Cut، Copy، Past و Undo را در عمل ببینید، ابتدا دو Text Box در کنار هم در منوی خود قرار دهید و برای جفت Text Box ها، در پنجره Properties آن‌ها، مقدار Property مربوط به MultiLine را به True تغییر دهید. با True کردن آن‌ها، خواهید توانست که به‌جای یک خط، چندین خط در یک Text Box بنویسید. برای اولین Text Box، در Property مربوط به Text، یک مقدار دلخواه بنویسید. فرم شما به‌شکل زیر خواهد شد:

    کاری که می‌کنیم این هست که گزینه‌های Cut، Copy و Past را فعال می‌کنیم. Undo را نیز فراموش نخواهیم کرد! ابتدا ما متن داخل Text Box اول را Cut خواهیم کرد و سپس این عمل را Undo می‌کنیم.
    بنابراین، به فرم خود بازگردید و بر روی گزینه Cut از منوی Edit، دابل-کلیک کنید؛ سپس وارد بخش کدنویسی خواهید شد:

    کدی که برای انجام عملیات Cut در یک Text Box انجام می‌شود، خیلی راحت و ساده می‌باشد. تنها کافیست که کد زیر را بنویسید:
    textBox1.Cut();
    Cut() یک متدی در سی‌شارپ می‌باشد که همراه با خود زبان سی‌شارپ عرضه می‌شود و دقیقاً همان‌کاری را می‌کند که نام آن انتخاب شده‌است.
    قبل از اینکه برنامه‌ی خود را اجرا کنید، یک‌بار دیگر به فرم خود بازگردید و بر روی undo دابل-کلیک کنید و کد زیر را بنویسید:
    textBox1.Undo();
    اکنون، کدهای خود را امتحان کنید؛ برنامه خود را اجرا کنید و متن خود را در Text Box انتخاب کنید. توسط گزینه Cut، متن را Cut کنید و سپس با استفاده از گزینه Undo، متن خود را بازگردانید.
    کار دیگری که می‌توانیم انجام دهیم این است که بررسی کنیم که آیا متنی جهت Cut کردن انتخاب شده است یا نه! پس کافیست که کد مربوط به Cut را به‌شکل زیر تغییر دهید:
    if (textBox1.SelectedText != “”)
    {
    textBox1.Cut();
    }
    فکر نمی‌کنم نیازی به شرح کدهای بالا وجود داشته باشد! کدها کاملاً گویای عملکرد خود هستند.
    برای گزینه Undo نیز می‌توانیم چنین کاری را انجام دهیم؛ یعنی بررسی کنیم که آیا عملی برای Undo کردن وجود دارد یا نه! پس کدهای Undo را به‌شکل زیر تغییر دهید:
    if (textBox1.CanUndo == true)
    {
    textBox1.Undo();
    }
    اگر برنامه‌ی خود را اجرا کنید و ابتدا بر روی Cut کلیک کنید، متن شما Cut خواهد شد. اگر یک‌بار بر روی Undo کلیک کنید، متن شما باز خواهد گشت. اگر یک بار دیگر Undo کنید، مجدداً متن شما Cut می‌شود. این بدلیل این هست که شما بعد از دستور Undo، مراحل قبلی را پاک نکردید، برای این‌کار، کد زیر را جایگزین کنید:
    if (textBox1.CanUndo == true)
    {
    textBox1.Undo();
    textBox1.ClearUndo();
    }
    کد بالا را اجرا کنید؛ خواهید دید که با دوبار Undo کردن، عملیات Cut مجدداً انجام نخواهد شد.
    حال وقت آن رسید که دو گزینه Copy و Past را نیز راه‌اندازی کنیم. پس ابتدا بر روی گزینه Copy دابل-کلیک کنید تا وارد بخش کدنویسی آن شویم. کدی که برای کپی استفاده خواهیم کرد، به‌شکل زیر است:
    textBox1.Copy();
    اما برای بررسی اینکه آیا متنی برای کپی کردن انتخاب شده است، باید به‌شکل زیر عمل کنیم:
    if (textBox1.SelectionLength > 0)
    {
    textBox1.Copy();
    }
    ما در واقع در حال بررسی مقدار SelectionLength هستیم که ببنیم چه تعداد کاراکتر انتخاب شده است. اگر که برابر با صفر باشد، یعنی هیچ کاراکتری برای کپی شد انتخاب نشده است، پس وارد بدنه IF نمی‌شود؛ در غیراینصورت، کدهای داخل بدنه IF اجرا خواهند شد.
    برای Past کردن، از Text Box دومی استفاده خواهیم کرد. پس کد زیر را برای گزینه Past اضافه کنید:
    textBox2.Past();

  10. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  11. #26
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و ششم

    • تنظیمات منوی View

    در منوی View، سه گزینه مختلف وجود دارد که ما فعلاً تنها با دوتا از آن‌ها کار خواهیم داشت. نخستین منو، منوی View Text Boxes می‌باشد. ما توسط متغیرهای boolean، خواهیم توانست که چگونه text box ها را نمایش و مخفی کنیم.
    به منوی View مراجعه کنید و بر روی گزینه View Text Boxes دابل-کلیک کنید تا وارد بخش کدنویسی شویم.





    کاری که ما می‌خواهیم انجام دهیم این است که جعبه متن‌ها را با کلیک بر روی گزینه View TextBoxes مخفی می‌کنیم و با کلیک مجدد بر روی آن‌ها، مجدداً نمایش داده شوند. یک «تیک» نیز در کنار این منو ظاهر خواهد شد که وضعیت فعلی را برای ما به نمایش خواهد گذاشت.





    برای اضافه کردن این «تیک»، می‌توانیم از Property مربوط به Checked را به کدهایمان اضافه کنیم. کد زیر را به بخش کدهای مربوط به گزینه View Textboxes اضافه کنید:
    mnuViewTextboxes.Checked = true;
    برنامه خود را اجرا کنید. یک بار بر روی View Textboxes کلیک کنید؛ خواهید دید که یک «تیک» کنار شما اضافه خواهد شد. سوالی که اینجاست، این هست که چگونه می‌توانیم کاری کنیم که اگر دوباره بر روی View Textboxes کلیک شود، این تیک از بین برود؟
    یک روش خیلی ساده و البته جالبی وجود دارد! ما می‌توانیم کاری کنیم که دقیقاً حالت مخالف وضعیت فعلی را با کلیک بر روی این گزینه به نمایش بگذاریم. یعنی با یک خط کد و با استفاده از NOT، وضعیت مخالف وضعیت فعلی را به این گزینه نسبت دهیم. خط کد زیر را با کد بالایی جایگزین کنید:
    mnuViewTextboxes.Checked = !mnuViewTextboxes.Checked;
    الان یک‌بار دیگر برنامه خود را اجرا کرده و این گزینه را چند بار امتحان کنید. خواهید دید که به‌درستی عمل خواهد کرد.
    اکنون برگردیم به سراغ کار اصلی خودمان، برای اینکه هدف و انتظاری که از گزینه View Textboxes داریم را محقق کنیم، کافیست که کد زیر را اضافه کنیم:
    if (mnuViewTextboxes.Checked)
    {
    textBox1.Visible = true;
    textBox2.Visible = true;
    }
    else
    {
    textBox1.Visible = true;
    textBox1.Visible = true;
    }
    ابتدا باید بدانید که دستور زیر:
    if (mnuViewTextboxes.Checked)
    دقیقاً برابر با دستور زیر است:
    if (menuViewTextboxes.Checked == true)
    البته دقیقاً همانند موارد بالا، می‌توانیم کدهایمان را کلاً به شکل زیر بنویسیم:
    textBox1.Visible = !textBox1.Visible;
    و به همین ترتیب برای Text Box شماره ۲.

  12. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  13. #27
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و هفتم

    آشنایی با Picture Box
    نگاهی به Toolbox خود بیاندازید و به‌دنبال گزینه‌ای با نام Picture Box بگردید.





    آن را انتخاب کنید و بر روی Form خود قرار دهید.





    وقتی که Picture Box رو اضافه می‌کنید، به‌صورت یک شیء خالی در Form شما نمایش داده می‌شه. برای اینکه در مرحله‌ی طراحی برنامه، عکسی را به این بخش اضافه کنید تا برای کاربران نمایش داده شود، در پنچره Properties نگاهی به مشخصه Image بکنید.





    Button ای که روبه‌روی (none) قرار دارد را کلیک کنید تا پنجره‌ای شبیه به زیر را ببینید:





    طبق تصویر، بر روی Import کلیک کنید؛ پنچره Open File Dialog باز خواهد شد. به‌دنبال عکس مورد نظر خود بروید و آن را اضافه کنید. من یک عکس ماه اضافه کردم.





    بر روی OK کلیک کنید و به Form خود برگردید … خواهید دید که عکس اضافه شده است.





    دقت کنید که عکسی که اضافه کردیم،‌ نسبت به پنجره برنامه ما بسیار بزرگ هست. به همین دلیل، به پنجره Properties مربوط به Picture Box مراجعه کنید و گزینه SizeMode را بر روی AutoSize قرار دهید.





    برنامه خود را اجرا کنید و عکس خودتان را ببینید.

  14. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  15. #28
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و هشتم

    ایجاد یک Open File Dialog یک نگاهی به Tool Box بیاندازید. یک بخشی با نام Dialogs وجود دارد که در این بخش حدود ۶ مورد مختلف وجود دارند.





    انواع مختلفی از دیالوگ‌ها که ممکن است آن‌ها را در محیط Windows دیده باشید در این لیست وجود دارد. گزینه‌ای که در عکس بالا انتخاب شده، گزینه مورد نظر ماست. بر روی آن Double-Click کنید (دوبار کلیک کنید.)؛ مشاهده خواهید کرد که یک گزینه‌ی جدیدی در پایین برنامه Visual Studio اضافه می‌شود. این گزینه دقیقاً در کنار menuStrip1 می‌باشد.





    همانطور که متوجه شدید، چیزی در فرم شما (بر خلاف menuStrip) نمایش داده نشد، چرا که Open File Dialog یک پنجره‌ی مخفی‌ای است که تنها در صورت نیاز قابل مشاهده خواهد بود.
    به پنجره Properties مربوط به OpenFileDialog مراجعه کنید و مشخصه Name آن را به یک نام کوتاه‌تر تبدیل می‌کنیم. مثلاً:
    Name: OpenFD





    وقتی که نام آن را عوض می‌کنید، متقابلاً باید نام آن در پایین پنجره Visual Studio نیز تغییر پیدا کند.





    در حالی که شیء OpenFD در حالت انتخاب‌شده (Selected) می‌باشد، یک نگاه دیگری به پنجره Properties بیاندازید. شما مشاهده خواهید کرد که مشخصه‌هایی همچون: Filter، File Name، InitialDirectory و Title وجود دارند. ما این مشخصه‌ها را توسط کد تغییر خواهیم داد؛ نه داخل خود ToolBox.
    موضوع دیگری که می‌بایست در ذهن خود داشته باشید این است که Open File Dialog در واقع فایلی را باز نمی‌کند! کاری که دیالوگ‌ها انجام می‌دهند این است که به شما این اجازه را بدهند که فایلی را برای باز شدن انتخاب کنید. شما می‌بایست کد جداگانه‌ای را برای باز شدن فایل‌ها بنویسید. تنها کاری شما در حال حاضر در حال انجام آن هستید، دریافت اسم فایل است.
    ما فعلاً می‌خواهیم کاری کنیم که اگر کاربر بر روی گزینه View Images از منوی View کلیک کنید، پنجره Open File برای وی نمایش داده شود. برای این‌کار بر روی View Images دوبار کلیک کنید تا وارد کدهای مربوط به آن شویم.





    برای اینکه پنجره دیالوگ به نمایش در آید، کد زیر را مابین دو پرانتز قرار دهید:
    openFD.ShowDialog();
    فکر نمی کنم که کد بالا نیازی به توضیح داشته باشد. در واقع ما به کامپایلر می‌گویم که تابع ShowDialog را از شیء openFD فراخوانی کن.
    حال برنامه خود را اجرا کنید و سعی کنید بر روی View Images کلیک کنید. پنجره‌ای به شکل زیر برای شما نمایش داده خواهد شد.


    این عکس به شکل اتوماتیک کوچک شده است. برای مشاهده تصویر در اندازه اصلی بر روی این نوار کلیک کنید. ابعاد اصلی عکس 617x493 میباشد.



    بدلیل اینکه ما کاری جز نوشتن کدی برای باز کردن پنجره‌ی فوق نکردیم، خیلی از اتفاقات به‌صورت پیشفرض در نظر گرفته شده است. مثلاً محل اولیه باز شدن به‌صورت پیشفرض Document در ویندوز ۷ می‌باشد. نام فایل به‌صورت پیشفرض openFileDialog1 در نظر گرفته شده. تمامی این موارد (و خیلی‌های دیگر) را می‌توانیم به‌راحتی عوض کنیم.
    کارها را به‌ترتیب انجام می‌دهیم. اول بیاییم یک عنوان (Title) برای پنجره دیالوگ انتخاب کنیم. کد زیر را اضافه کنید:
    openFD.Title = “Insert an Image”;
    شما هرچیزی را داخل کوتیشن می‌توانید بنویسید. در واقع Title، نمایشگر عنوان پنجره است که در ویندوز‌های XP و ویندوز ویستا و ۷، به‌صورت زیر است:






    کار بعدی‌ای که می‌توانیم آن را انجام دهیم، تغییر محل باز شدن فایل‌ها می‌باشد. برای مثال، کد زیر را قبل از دو خط کد قبلی قرار دهید.
    openFD.InitialDirectory = “C:”;
    ما مسیر پیشفرض را بر روی درایو C قرار دادیم. در واقع ما اینطور فرض کردیم که تمامی کاربرها یک درایو C در کامپیوترشان موجود است. اما اگر بخواهیم که مسیر را بر روی My Document قرار دهیم (چون می‌دانیم همه کاربران این فولدر را به هر نحوی دارا هستند)، کد زیر را جایگزین کنید:
    openFD.InitialDirectory = System.Environment.GetFolderPath(Environment.Speci alFolder.Personal)
    برای تغییر نام فایل به‌صورت پیشفرض، از کد زیر استفاده می‌کنیم:
    openFD.FileName = ““;
    با قرار دادن یک نام در داخل کوتیشن‌ها، می‌توانید نام پیشفرض برنامه را تعیین کنید. ما آن را مقدار خالی‌ای قرار دادیم تا چیزی در دیالوگ نمایش داده نشود.
    یکی از مهم‌ترین کارها (و شاید هم جالب‌ترین آن‌ها) تعیین File Type ها هستند. بدین صورت که ما تعیین می‌کنیم که چه نوع (فرمت) فایلی می‌توانید در برنامه بارگذاری شود. به نمونه‌های زیر دقت کنید.



    و



    برای انجام اینکار، الگوی زیر را یاد بگیرید.
    openFD.Filter = “JPEG|*.jpg”;
    کد بالا تنها فایل‌هایی با پسوندهای JPG را قبول خواهد کرد و پنجره دیالوگ شما به شکل زیر خواهد بود:



    برای اضافه کردن فرمت‌های دیگر، به‌شکل زیر عمل می‌کنیم:
    openFD.Filter = “JPEG Images|*.jpg|GIF Images|*.gif|PNG|*.png”;
    برای اضافه کردن گزینه آخر که معمولاً با عنوان All files می‌باشد، می‌توانیم به‌شکل زیر عمل کنیم:
    openFD.Filter = “JPG|*.jpg|All files|*.*”;
    در این جلسه نحوه ایجاد دیالوگ باکس را فرا گرفتید. در جلسه آینده، نحوه بارگذاری عکس را در سی‌شارپ آموزش خواهیم داد.

  16. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  17. #29
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش بیست و نهم


    • قرار دادن عکس توسط Open File Dialog

    پس از آنکه کارهایی که در بخش قبلی گفتیم و یک دیالوگ ساختید، می‌بایست که فایلی که توسط کاربر انتخاب می‌شود را مسیریابی کرده و آن را در متغیری ذخیره کنیم تا بتوانیم فایل مورد نظر را قرار دهیم.
    ما یک متغیر از نوع String تعریف خواهیم کرد که توسط آن، نام فایل انتخاب شده را در آن ذخیره می‌کنیم. پس یک متغیر ایجاد می‌کنیم:
    string Chosen_File = “”;
    برای اینکه نام فایل انتخاب شده را از دیالوگ بگیریم و در این متغیر ذخیره کنیم، کد زیر را استفاده می‌کنیم:
    Chosen_File = openFD.FileName;
    نام فایل در نهایت در متغیر Chosen_File ذخیره خواهد شد. حال وقت آن رسیده که عکس را در یک PictureBox قرار دهیم. اگر PictureBox ندارید، آن را به فرم اضافه کنید. برای دسترسی به مشخصه image از PictureBox، کد زیر را بکار می‌بریم:
    pictureBox1.Image
    و برای قرار دادن عکسی که کاربر انتخاب کرده، کد زیر را می‌نویسیم:
    pictureBox1.Image = Image.FromFile(Chosen_File);
    کد بالا کاملاً مشخص هست. برای قرار دادن یک عکس در Picture Box، می‌بایست که مشخصه Image آن دسترسی پیدا کنیم. (که انجام شد) سپس، با استفاده از متد FromFile() موجود در کلاس Image (بعداً در رابطه با Class بیشتر آشنا می‌شوید) و دادن نام عکس به‌صورت یک String، عکس را در فرم خود خواهیم داشت. کدهای شما شکلی شبیه به شکل زیر را خواهند داشت:





    برنامه خود را اجرا کرده و آن را امتحان کنید. یک عکس را انتخاب کنید و آن را در فرم خود قرار دهید. شما باید نتیجه کار خودتان را با موفقیت ببینید.
    کارهایی که در بالا انجام دادیم، خالی از عیب و نقص نیست و دارای یک ایراد بزرگ است! یک‌بار دیگر برنامه خود را امتحان کنید و اینبار به‌جای کلیک کردن بر روی Open، بر روی Cancel کلیک کنید. (در دیالوگ). شما باید خطایی (Error) به شکل زیر ببینید:





    مشکلی که بوجود می‌آید این است که وقتی که شما cancel را انتخاب می‌کنید، نتیجه این است که شما فایلی را انتخاب نکرده‌اید؛ در نهایت، متغیر Chosen_File شما خالی باقی می‌ماند و در مرحله استفاده از متد FromFile()، با مشکل مواجه می‌شود.
    برای اینکه بررسی کنیم که آیا در دیالوگ، Cancel انتخاب شده است، می‌توانیم از کد زیر استفاده کنیم:
    if (openFD.ShowDialog() == DialogResult.Cancel)
    {
    MessageBox.Show(“Operation Cancelled”);
    }
    ما یک شیء به‌صورت پیشفرض در سی‌شارپ داریم به نام DialogResult. توسط آن می‌توانید نتیجه‌ی انتخاب شده توسط یک دیالوگ را تعیین کنید. اضافه کردن یک کد دیگر توسط ELSE، مشکل ما را برطرف خواهد کرد.





    برنامه خود را یک بار دیگر اجرا کنید و مشکل را بررسی کنید؛ خواهید دید که مشکلی وجود ندارد!
    کار دیگری که می‌توانستیم انجام دهیم که کدهای ما به‌صورت بهینه‌تری باشند، استفاده از چند خط کد زیر است. یعنی به‌جای استفاده از دو دستور شرطی IF و ELSE، از یک IF استفاده کنیم:
    if (openFD.ShowDialog() != DialogResult.Cancel)
    {
    Chosen_File = openFD.FileName;
    pictureBox1.Image = FromFile(Chosen_File);
    }
    با استفاده از اعمال منطقی ریاضی (عمل NOT که با علامت ! نمایش می‌دهند) توانستیم که کدی شبیه به کد بالا را بنویسیم.

  18. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


  19. #30
    کاربر فعال انجمن طراحی صفحات وب kian98's Avatar
    تاريخ عضويت
    Jan 2014
    محل سكونت
    در لباس هایم
    پست ها
    1,845

    پيش فرض

    بخش سی ام

    فراخوانی یک فایل متنی توسط Open File Dialog احتمالاً یادتان نرفته است که چطور و با چه دستوری می‌توانستیم برای فرمت فایل‌هایی که Open File Dialog اجازه باز کردن آن‌ها را دارد، محدودیت تعیین کنیم. در بخش ۲۹ ما فقط برای عکس این محدودیت را قائل شدیم؛ این‌بار برای متن خواهد بود!
    اینبار، نوع دیگری را از Text Box ها را اضافه خواهیم کرد –با نام Rich Text Box. این شیء این قابلیت را به ما خواهد داد که مستقیماً متن داخل یک فایل TXT را وارد Rich Text Box کنیم. پس برگردیم به منوی ToolBox و یک شیء از Rich Text Box در فرم خود قرار دهید.





    شما احتمالاً باید سایز فرم خود را کمی تغییر دهید تا علاوه بر ابزارهای موجود از قبل، ابزار فعلی خود را نیز جا دهید. در هر حال، فرم شما باید شکلی شبیه به شکل زیر را داشته باشد:





    Box (که پایین‌ترین Text Box موجود در فرم فوق می‌باشد) خیلی شبیه به جعبه‌متن معمولی می‌باشد؛ اما کارهای بیشتری را نسبت به آن‌ها می‌توانید انجام دهید. یکی از متدهای موجود در Rich Text Box، متد LoadFile() می‌باشد که ما توسط آن فایل متن خود را فراخوانی خواهیم کرد.
    حال که Rich Text Box را اضافه کردید و فرم شما به شکل زیر است، کدهای مربوط به گزینه Open از منوی File فرم خود را آماده کنید:





    ما می‌توانیم کدهای قبلی‌ای که در بخش ۲۹ نوشتیم را اینجا هم اضافه کنیم؛ پس می‌نویسیم:
    string Chosen_File = “”;
    openFD.InitialDirectory = “C:”;
    openFD.Title = “Open a Text File”;
    openFD.FileName = “”;
    تنها چیزی که نسبت به کدهای بخش ۲۹ تغییر کرده، عنوان پنجره دیالوگ می‌باشد. برای ادامه کار، می‌بایست که *****گذاری انواع فایل‌های قابلیت باز شدن در این دیالوگ را مشخص کنیم. پس برای خط بعدی کد خود، یک خط زیر را اضافه می‌کنیم:
    openFD.Filter = “Text Files|*.txt|Word Documents|*.doc”;
    ابزار Rich Text Box هم می‌تواند فایل‌های .txt را باز کند و هم فایل‌های Microsoft Word.
    قدم بعدی، نمایش دیالوگ باز کردن فایل است؛ کاری را که در بخش ۲۹ انجام دادیم را تکرار می‌کنیم:
    if (openFD.ShowDialog() != DialogResult.Cancel)
    {
    Chosen_File = openFD.FileName;
    richTextBox1.LoadFile(Chosen_File, RichTextBoxStreamType.Plain Text);
    }
    اگرچه تقریباً کدهای بالا، همانند کدهای قبل می‌باشد، اما باید به خط آخر کد کمی دقت کنید؛ چرا که تفاوتی را دارد که احتمالاً شما با آن آشنایی ندارید. (فعلاً نیازی برای دانستن وجود ندارد)
    برنامه خود را اجرا کنید و نتیجه را امتحا کنید. در بخش بعدی آموزش، نحوه ایجاد یک Save As Dialog را آموزش خواهیم داد که چگونه می‌توانید پس فراخوانی یک متن و اعمال تغییرات بر روی آن، آن را ذخیره‌سازی کنید!

  20. این کاربر از kian98 بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •