نمایش نتایج 1 تا 40 از 1081

نام تاپیک: نمونه برنامه های کوچک و مفيد در سي شارپ

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: نمونه برنامه های کوچک و مفيد در سي شارپ

    سلام

    شايد تا حالا برايتان رخ داده باشد که بخواهيد خروجي يک عمليات که تاکنون در Console بوده است را به يک TextBox (يا مانند آن) در يک فرم تبديل کنيد.و احتمالا براي اين مورد هرکجا از دستور Console.Write و نظاير آن استفاده کرده بوديد،دستور String.Format را به همراه متد Append شي TextBox به کار برده ايد!(اولين راه حلي که به ذهن مي رسد)

    در اين پست روشي را به کار مي گيريم که ساده ترين راه براي اين مقصود است.براي شروع،بد نيست نگاهي به متد SetOut کلاس Console بياندازيد.اين متد با دريافت يک استريم TextWrite ،تمام خروجي دستورات Console را به جاي خروجي استاندارد (صفحه نمايش)،به اين استريم مي فرستد.

    نکته: کلاس Console داراي متد SetIn نيز هست که يک استريم TextReader را جانشين استريم استاندارد ورودي (صفحه کليد) مي کند.

    حالا کافيست نگاهي به کد ضميمه بياندازيد.در اين کد کلاس ConsolToTextbox_TextWrite که از TextWriter مشتق شده است معرفي و برخي توابع مورد نياز را رونويسي کرده ايم.در اين حال کافيست در فرم مورد نظر (هر کجا که بخواهيد خروجي Console به Textbox منتقل شود) دستورات زير را وارد کنيد:
    private ConsolToTextbox_TextWrite OutputConsole = null;
    OutputConsole = new ConsolToTextbox_TextWrite(textBox1);
    Console.SetOut(OutputConsole);

    و از خروجي برنامه لذت ببريد.

    نکته: با توجه به اينکه خروجي تا زماني که برنامه دوباره درخواست نکرده باشد به همان استريم (در اين جا TextBox) مي رود،در نتيجه در جاي مناسب خروجي را دوباره براي حالت عادي تنظيم کنيد.مثلا هنگامي که فرم بسته مي شود (و ديگر TextBox اي نيست که داده ها را دريافت کند) ،توسط دستورات زير خروجي را به صفحه نمايش باز گردانيد:
    OutputConsole.Close();
    StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
    standardOutput.AutoFlush = true;
    Console.SetOut(standardOutput);

    که در واقع از متد Console.OpenStandardOutput براي نيل به اين هدف استفاده مي شود.در ضمن بستن استريم باز شده براي TextBox فراموش نشود!

    اميد وارم از برنامه لذت ببريد!
    موفق و پيروز باشيد
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •